求Sn=a+aa+aaa(有n个a)之值,其中a是一个数字。例如:2+22+222+2222(n=4),n由键盘输入。
#include\#include\ main()
{int n,sum=0,i=1,s=2; scanf(\ while(i<=n)
{sum=sum+s;s=s+2*pow(10,i); i++;}
printf(\ }
求1!+2!+3!+4!+5!+…+20!) #include\ main()
{int n,i=1;long sum=0,s=1; scanf(\ while(i<=n)
{s=s*i;sum=sum+s;i++;} printf(\ }
一个数如果恰好等于它的因子之和,这个数就称为\完数\。例如,6的因子为1、2、3,如6=1+2+3,因此6是\完数\。编程序找出1000之内的所有完数,并按下面格式输出其因子
#include\ main() { int m,i,j,s;
for(m=6;m<10000;m++) { s=1;
for(i=2;i 有一分数序列,求出这个数列的前20项之和。 main() {int i=1,n;double t,x=1,y=2,s,sum=0; scanf(\ while(i<=n) {s=y/x;sum=sum+s;t=y;y=y+x;x=t;i++;} printf(\ 一球从100米高度自由下落,每次落地后返回原高度的一半,再落下。求它在第10次落地时共经过多少米?第10次反弹多高? main() {int i,n;double h=100,s=100; scanf(\ for(i=1;i<=n;i++) {h*=0.5;if(i==1) continue;s=2*h+s;} printf(\ 下面程序的输出是:( ) Main() { enum en{Sat=5,Sun}; char *w{}={“Sun”, “Mon”, “Tuse”, “Wed”, “Thu”, “Fri”, “Sat”}; printf(“%s%s﹨n”,w[sat],w[Sun]); } 9.以下程序调用fun函数动态分配两个整型存储单元,并通过形参传回这两个整型存储单元的地址给s1和s2,请在下面☆处填写适当内容。 Main() {int *s1,*s2; …… Fun(☆); …… } Int Fun(☆) {*p=(int*)malloc(sizeof(int)); *q=(int*)malloc(sizeof(int)); } ①#include for(k=M-1;k>=0;k--) scanf (\ printf(\ for(k=0;k 输入为:1 2 3 4 5 输出为:5 4 3 2 1 ②#include int x=6; Fun(x); printf (\puts(str); return 0; } Fun(int x) {x=20;gets(str);} 输入为:12345 输出为: ③#include for(i=0;i<3;i++) for(j=0;j<2;j++) if((*(p+i)+j) int main(void) { static int a[][2]={25,2,8,14,7,6}; printf(\} 输出是:na=2 ④#include if(n<1) printf(\ else if (n==1) s=1; else s=f(n-1)+n; return(s);} int main(void) {int n; printf(\ scanf(\ printf(\} 执行情况:n=?6 输出是:s {printf(\ a=a+b;b=a+b;i++; } } int main(void) {int n; do {printf (\ scanf(\ } while(n<1); g(n); printf (\return 0; } 执行结果:n=?4 输出是:n=4 假设a数组中的数从小到大的顺序存放,以下程序把a数组中相同的数删得只剩一个,然后以每行5个数的形式输出a数组中的数,在下画线处填入适当内容(8分) #include int a[M],i,j,n; for(i=0;i while(_____②____-) { if(a[i]==a[i-1]) { for(j=0;j<=n;j++) a[___④____]=a[j]; n=____⑤____; } i=___⑥___; for(i=0;i<=n;i++) { if(i%5==0) printf(\ print(\ } printf(\ } return 0; } 2.下属函数从一个带有头结点的链表中删去num域值为x的结点。在下面线处填入适当内容 #inblude”stdio.h” Struct node {int num; Struct node *next; }; Typedef struct node LIST; LIST *find(LIST *h,int x) {LIST *P,*q; P=(*h).next; q=h; while(___①___&&(*p).num!=x) {q=p; p=___②___;} if(___③___)return NULL; return(___④___); } del(LIST *h,int x) {LIST *p,*q; If(!(*h).next) {printf(“List is null! ﹨n”);return 0; q=find(h,x); if(___⑤___) {p=q->next;q_>next=p->next;free(p);return 1;} return(____⑥____); } #include char c; c=getchar(); while(c!='#') { if(isalpha(c)) { c=tolower(c); c=(c-'a'+1)&+'a'; } putchar(c);c=getchar(); } printf(\ } 输入:ABC$58xyz# 输出:bcd$58yza #include int mx(int *p,int n,int m,int *l,int *k) { int i,j,mm; mm=*p;*l=*k=0; for (i=0;i<4;i++) for (j=0;j<3;j++) {if (*p>mm) {mm=*p;*l=i;*k=j;} p++; } return(mm); } int main(void) {int a[4][3],i,j,m; for (i=0;i<4;i++) for (j=0;j<3;j++) scanf(\ m=mx(a[0],4,3,&i,&j); printf (\答案:a[i][j]=3 求两个数的最大公约数和最小公倍数。 #include\main() { int i,n,m,z,d,g,b; printf(\请输入要比较的两个数:\\n\ scanf(\ if(n>m) {z=m;d=n;} else {z=n;d=m;} /*求公约数*/ while(z>=1) {if(m%z==0&&n%z==0) {g=z;break;} else z--; } //求最大公倍数 while(d<=(m*n)) {if(d%m==0&&d%n==0) {b=d;break;} else d++; } printf(\和%d最大公约数%d,最小公倍数%d\\n\} 写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。 maxyueshu(m,n) int m,n; { int i=1,t; for(;i<=m&&i<=n;i++) {if(m%i==0&&n%i==0) t=i; } return(t); } minbeishu(m,n) int m,n; {int j; if(m>=n) j=m; else j=n; for(;!(j%m==0&&j%n==0);j++); return j; } main() {int a,b,max,min; printf(\ scanf(\ max=maxyueshu(a,b); min=minbeishu(a,b); printf(\n); } 编写函数fandmax,求出数组中(某一个)最大元素在数组中的下标。用主函数读入10个整数然后调用fandmax函数,主函数将结果在屏幕上输出。 #include\ int fandmax(int a[],int k) { int maxz=-1,c=0,i; for(i=0;i 编写一个函数sort(**p),实现对5个字符串进行排序。主函数main通过键盘输入5个字符串。 #include\#include\char sort(char **p) { int i,j; char ch; for(i=0;i<4;i++) { for(j=0;j<5;j++) if(strcmp(*(p+i),*(p+j))) { ch=*(p+i); *(p+i)=*(p+j); *(p+j)=ch; } } } main() { int i; char a[5],**q; q=&a; printf(\请输入5个元素\\n\ for(i=0;i<5;i++) a[i]=getchar(); sort(q); printf(\按从小打到大的顺序排列:\\n\ for(i=0;i<5;i++) putchar(a[i]); } 编写一个函数,就算给定的一个矩阵(m×n)的转置矩阵,主函数输入给定矩阵并输出转置矩阵。 #include int zhuanzhi(int a[100][100],int m,int n) { int i,j,temp; for(i=0;i 写一个函数,它能测出一个字符串的长度,函数返回值就是字符串的长度。 #include\#include\int strlenth(char s[]) { int i=0,len=0; while(s[i++]) len++; return len;} main() {char a[100]; int n; printf(\请输入一个字符串\\n\ gets(a); n=strlenth(a); printf(\ 用冒泡法对输入的10个数由小到大排序,在函数中输入10个数,并输出。 #include\main() { int a[10],i,j,temp; printf(\请输入十个数\\n\ for(i=0;i<10;i++) {scanf(\ //排序 for(i=0;i<9;i++) {for(j=i+1;j<10;j++) {if(a[i]>a[j]) {temp=a[i]; a[i]=a[j]; a[j]=temp; }}} //输出 for(i=0;i<10;i++) { printf(\ } printf(\} #include find_u_v(int *p,int n) { int *q; u=v=*p; for(q=p;q *q) v=*q; }} int main() {int i,num[10]; printf (\for (i=0;i<10;i++) scanf(\find_u_v(num,10); printf(\} 输入:3 5 1 7 9 2 4 6 8 10 输出:u=10 ;v=1 #include {int a[7]={0,4,3,5,2,1,6}; int i,j,k; for (j=1;j<5;j++) for (i=1;i<=6-j;i++) if (a[i]>a[i+1]) {k=a[i];a[i]=a[i+1];a[i+1]=k;} printf (\for (i=1;i<=6;i++) printf(\}答案:123456 #include a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}}; printf (\} 答案:ma_va is 1 #include printf (\}} 答案:1 4 9 16 用筛选法求之内的素数2 3 5 7 11 13 17 19 …… 89 97 main() { int i,j,a[100]; for(i=2;i<100;i++) { a[i]=i; for(j=2;j<=i;j++) {if(j if(a[i]%j==0) break; if(a[i]-j==0) printf(\用选择法对10个整数从小到大排序。 int main(void) { int i,j,a[10],t; for(i=0;i<10;i++) scanf(\ for(j=1;j<10;j++) for(i=0;i<=9-j;i++) if(a[i]>a[i+1]) {t=a[i+1];a[i+1]=a[i];a[i]=t;} for(i=0;i<10;i++) printf(\求一个3×3矩阵对角线元素之和。 main() {int i=0,j=0,a[3][3],s1,s2; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf(\ s1=a[0][0]+a[1][1]+a[2][2]; s2=a[0][2]+a[1][1]+a[2][0]; printf(\ 已有一个已排好的数组今输入一个数要求按原来排序的规律将它插入数组中。 main() { static int a[5]={1,4,5,6,7}; int i,t,b; scanf(\ for(i=0;i<5;i++) {if(b<=a[i]) {t=a[i];a[i]=b;b=t;} printf(\ printf(\ 编一程序,将两个字符串连接起来,不要strcat函数。 main() {inti,j;char str1[100],str2[100],str3[201]; gets(str1); gets(str2); for(i=0;str1[i]!=’\\0’;i++) str3[i]=str1[i]; for(j=0;str2[j]!=’\\0’;j++) str3[j+i]=str2[j]; printf(\); } 编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,’\\0’也要拷贝过去,’\\0’后面的字符不拷贝。 解: #include \ main() { char s1[80],s2[80]; int i; printf(\:\ scanf(\ for(i=0;i printf(\:%s\\n\ 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。 psushu(m) int m; {int i=2,t; for(;i<=m;i++) if(m%i==0&&i printf(\ scanf(\ s=psushu(a); if(s==1) printf(\ else printf(\ 写一函数,使输入的一个字符串按反序存放,在主函数中输入输出字符串。 main() {char str0[100]; gets(str0); fanxu(str0); puts(str0); } fanxu(str1) char str1[100]; {int i,t,j; char str2[100];strcpy(str2,str1); t=strlen(str1); for(i=0,j=t-1;j>-1;i++,j--) str1[i]=str2[j]; } 写一函数用冒泡法对输入的个字符按由小到大的顺序排列。 int paixu(x) int x[]; {int i,j,t; for(j=1;j<10;j++) for(i=0;i<=9-j;i++) if(x[i]>x[i+1]) {t=x[i+1];x[i+1]=x[i];x[i]=t;} } main() {int y[10];int i; for(i=0;i<10;i++) scanf(\ paixu(y); for(i=0;i<10;i++) printf(\ printf(\ 写一函数,输入一个十六进制数,输出相应的十进制数。 #include\ int x; ff(shu) char shu[]; {int i=strlen(shu)-1,sum=0; for(;i>-1;i++) {if {if(48<=shu[i]<=57) sum=sum+(shu[i]-48)*pow(16,(i-1)); else if(65<=shu[i]<=90) sum=sum+(shu[i]-55)*pow(16,(i-1)); else if(97<=shu[i]<=102) sum=sum+(shu[i]-87)*pow(16,(i-1)); x=1;} else x=0; return x; } main() {char shufu[100];int s; gets(shufu);s=ff(shufu); if(x) printf(\ else printf(\number is not ox\\n\ 输入三个整数,按由小到大的顺序输出。 main() { int a,b,c,*p1,*p2,*p3,t; scanf(\p1=&a;p2=&b;p3=&c; if(*p1>*p2) {t=p1;p1=p2;p2=t;} if(*p1>*p3) {t=p1;p1=p3;p3=t;} if(*p2>*p3) {t=p2;p2=p3;p3=t;} printf(\} 10.2输入三个字符串,按由小到大的顺序输出 #define N 3 #define M 20 main() {char str0[N][M],str1[M],*p,*q; int i,l,m,n; q=str0; for(;p l=strcmp(q,q+1); if(l>0) {strcpy(str1,q);strcpy(q,q+1);strcpy(q+1,str1);} m=strcmp(q,q+2); if(m>0) {strcpy(str1,q);strcpy(q,q+2);strcpy(q+2,str1);} n=strcmp(q+1,q+2); if(n>0) {strcpy(str1,q);strcpy(q+1,q+2);strcpy(q+2,q+1);} for(p=q;p 10.3输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数;①输入10个数;②进行处理;③输出10个数。 f(x,n) int x[],n; {int *p0,*p1,i,j,t,y; i=j=x[0];p0=p1=x; 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言参考答案在线全文阅读。
相关推荐: