为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

1. 程序运行时输出如图所示的数字倒三角形 1234567 12345 123 1 源 ...

2017-09-20 49页 doc 92KB 417阅读

用户头像

is_882336

暂无简介

举报
1. 程序运行时输出如图所示的数字倒三角形 1234567 12345 123 1 源 ...1. 程序运行时输出如图所示的数字倒三角形 1234567 12345 123 1 源 ... 1. 程序运行时输出如图所示的数字倒三角形 1234567 12345 123 1 源程序: #include void main() { int i,j; ____1____; for(i=1;i0;j--) { printf("%d", k ); ____2____; } putchar(____3____); } } 答案: #include void main() { int ...
1. 程序运行时输出如图所示的数字倒三角形 1234567 12345 123 1 源 ...
1. 程序运行时输出如图所示的数字倒三角形 1234567 12345 123 1 源 ... 1. 程序运行时输出如图所示的数字倒三角形 1234567 12345 123 1 源程序: #include void main() { int i,j; ____1____; for(i=1;i<=4;i++) { k=1; for(j=1;j0;j--) { printf("%d", k ); ____2____; } putchar(____3____); } } 答案: #include void main() { int i,j; ____ int k ____; for(i=1;i<=4;i++) { k=1; for(j=1;j0;j--) { printf("%d", k ); ____ k++____; } putchar(____'\ n '____); } } 2. 输入一行字符串,分别统计字符串中各元音字母(AEIOU)的个数(不分大小写)。 源程序: #include void main() { char a[80]; int n[5]={0,0,0,0,0}; /* 数组n存放各元音字母个数 */ ____1____; gets(a); for(____2____; a[i]!='\0'; i++) switch(____3____) { case 'A': case 'a': n[0]++; break; case 'E': case 'e': n[1]++; break; case 'I': case 'i': n[2]++; break; case 'O': case 'o': n[3]++; break; case 'U': case 'u': n[4]++; break; } for(i=0;i<5;i++) printf("%d\n",____4____); /* 输出各元音字母个数 */ } 答案: #include void main() { char a[80]; int n[5]={0,0,0,0,0}; /* 数组n存放各元音字母个数 */ ____ int i ___; gets(a); for(____i=0____; a[i]!='\0'; i++) switch(___a[i]____) { case 'A': case 'a': n[0]++; break; case 'E': case 'e': n[1]++; break; case 'I': case 'i': n[2]++; break; case 'O': case 'o': n[3]++; break; case 'U': case 'u': n[4]++; break; } for(i=0;i<5;i++) printf("%d\n",____ n[i]____); /* 输出各元音字母个数 */ } 3. 程序功能:函数f的功能是从字符串中删除所有的数字字符,并返回删除的个数;主程 序调用函数f删除字符串str中的数字字符,并输出删除的字符数。 源程序: #include #include int f(char s[]) { int i=0; ____1____; while(s[i]!='\0') if(s[i]>='0'&&s[i]<='9') { strcpy(s+i,s+i+1); count=count+1; /* count表示删除的数字字符数 */ } else ____2____; return ____3____; } void main() { char str[80]; int m; printf("输入字符串:"); gets(str); m=____4____; printf("删除数字后的字符串:"); puts(str); printf("删除的数字字符个数:%d",____5____); } 答案: #include #include int f(char s[]) { int i=0; ____ int count=0____; while(s[i]!='\0') if(s[i]>='0'&&s[i]<='9') { strcpy(s+i,s+i+1); count=count+1; /* count表示删除的数字字符数 */ } else ____ i++____; return ____count____; } void main() { char str[80]; int m; printf("输入字符串:"); gets(str); m=____ f(str)____; printf("删除数字后的字符串:"); puts(str); printf("删除的数字字符个数:%d",____ m ____); } 4.以下程序输入一个10进制整数,转换为16进制,计算16进制的各个位数, 并从高位到低位依次输出。 如输入:687 则输出:2 A F 例示说明:10进制687等于16进制2AF,输出时2、A、F中间包含空格 源程序: #include void main() { int a[10], i, n; scanf( "%d", &n ); for ( i=0; n>0; i++ ) { a[i] = ____1____; n /= 16; } for ( i--; ____2____; ____3____ ) printf( "%X ", a[i] ); } 答案: 源程序: #include void main() { int a[10], i, n; scanf( "%d", &n ); for ( i=0; n>0; i++ ) { a[i] = ____n%16____; n /= 16; } for ( i--; ____i>=0 ____; ____i-- ____ ) printf( "%X ", a[i] ); } 5.以下程序输入n和n个大于1的正整数,输出其中素数。 如输入:5 19 93 11 37 15 则输出:19 11 37 例示说明:先输入n为5,再输入5个正整数,输出5个整数中的素数 #include void main() { int n, a, i, j, ct; scanf( "%d", &n ); for ( i=0; ____1____; i++ ) { ______2______; scanf( "%d", &a ); for( j=2; j void main() { int n, a, i, j, ct; scanf( "%d", &n ); for ( i=0; ____i void select( FILE *fp1, FILE *fp2, int x ) { int num, score1, score2; char name[20]; while ( 1 ) { num = 0; fscanf( fp1, "%d%s%d%d", &num, name, &score1, &score2 ); if ( num == 0 ) ____1____; if ( ____2____ ) fprintf( fp2, "%3d %-7s %3d %3d\n", num, name, score1, score2 ); } fprintf( fp2, "0" ); } void main() { FILE *fp1, *fp2; int x; fp1 = fopen( "student.txt", "r" ); fp2 = fopen( "studentD.txt", ____3____ ); if ( fp1==NULL || fp2==NULL ) { /* 文件打开失败 */ printf( "File Open Error!\n" ); return; } scanf( "%d", &x ); select( ____4____ ); fclose( fp1 ); fclose( fp2 ); } 答案: #include void select( FILE *fp1, FILE *fp2, int x ) { int num, score1, score2; char name[20]; while ( 1 ) { num = 0; fscanf( fp1, "%d%s%d%d", &num, name, &score1, &score2 ); if ( num == 0 ) ____break ____; if ( ____x<=score2 ____ ) fprintf( fp2, "%3d %-7s %3d %3d\n", num, name, score1, score2 ); } fprintf( fp2, "0" ); } void main() { FILE *fp1, *fp2; int x; fp1 = fopen( "student.txt", "r" ); fp2 = fopen( "studentD.txt", ____"w" ____ ); if ( fp1==NULL || fp2==NULL ) { /* 文件打开失败 */ printf( "File Open Error!\n" ); return; } scanf( "%d", &x ); select( ____fp1, fp2, x ____ ); fclose( fp1 ); fclose( fp2 ); } 7. 下列程序的功能是:计算机给出10个不大于31的正整数让人猜,并根据猜中的情况统计总得分后输出。具体规则如下: (1) 计算机每给出一个要猜的数最多允许中5次,第一次猜对得10分,第二次猜对得8分,第三次猜对得6分,第四次猜对得4分,最后一次猜对得2分,否则不得分。 (2) 若人猜的数太小,计算机给出提示“too small !”;若人猜的数太大,计算机给出 提示“too large !”;若人猜对这个数,计算机给出提示“right !”, 并给出下一个数继 续让人猜;若一个数已经猜了5次都猜错,计算机给出提示“out of time !”,也给出下一 个数继续让人猜。直至猜完10个数。 下面是人猜一个数的过程,有下划线的部分是人猜的数:(假设机器产生的随机数为9) 请输入你猜测的数y= 16 too large ! 请输入你猜测的数y= 4 too small ! 请输入你猜测的数y= 9 right ! (本题是第三次猜对,得6分) #include #include void main() { int i, c, x, y, score, right; 1 ; /* 变量赋初值 */ for (i=1; i<=10; i++) { x=1+rand()%30; /* 随机产生一个不大于31的要猜的数 */ c=0; do{ c++; printf("\n 请输入你猜测的数y= "); scanf("%d", &y); right=(y==x); /* 猜对时right为1,否则为0 */ if (right==1) printf(" 2 "); else printf("%s\n", ( 3 )? "too small !" :"too large !"); }while(right==0&& 4 ); if (right) score+= ( 5 ); /* 统计成绩 */ else printf("out of time !\n"); } printf("\nTotal score:%d\n", score); } 答案: #include #include void main() { int i, c, x, y, score, right; score=0 ; /* 变量赋初值 */ for (i=1; i<=10; i++) { x=1+rand()%30; /* 随机产生一个不大于31的要猜的数 */ c=0; do{ c++; printf("\n 请输入你猜测的数y= "); scanf("%d", &y); right=(y==x); /* 猜对时right为1,否则为0 */ if (right==1) printf(" right!\n "); else printf("%s\n", ( y #define N 10 int biggerthan( char *str1, char *str2 ) /*若字符串str1大于 str2时,则返回1*/ { for ( ; *str1 || *str2; 1 ) { if ( *str1 > *str2 ) return 2 ; else if (*str1<*str2) return 0 ; } return 0; /* 两个字符串相等 */ } void main() { char ls[N][100]; char *ps[N], *t; int i, j; for ( i = 0; i < N; i++ ) { gets( ls[i] ); ps[i] = ls[i]; } for ( i = 0; i < N-1; i++ ) /* 冒泡法排序 */ for ( j = 0; j < N-i-1; j++ ) if ( biggerthan( 3 ) ) { t = ps[j]; 4 ; 5 ; } for ( i = 0; i < N; i++ ) printf( " %s \n",ps[i] ); } 答案: #include #define N 10 int biggerthan( char *str1, char *str2 ) /*若字符串str1大于 str2时,则返回1*/ { for ( ; *str1 || *str2; str1++,str2++ ) { if ( *str1 > *str2 ) return 1 ; else if (*str1<*str2) return 0 ; } return 0; /* 两个字符串相等 */ } void main() { char ls[N][100]; char *ps[N], *t; int i, j; for ( i = 0; i < N; i++ ) { gets( ls[i] ); ps[i] = ls[i]; } for ( i = 0; i < N-1; i++ ) /* 冒泡法排序 */ for ( j = 0; j < N-i-1; j++ ) if ( biggerthan( ps[j],ps[j+1] ) ) { t = ps[j]; ps[j]=ps[j+1] ; ps[j+1]=t ; } for ( i = 0; i < N; i++ ) printf( " %s \n",ps[i] ); } 9. 将两个文本文件中字符'$'之后的内容合并到一个文件中去,其中函数void sub(FILE*all, FILE*f1 ,FILE *f2 )的功能是将文件指针f1,f2所指向的文件中的内容写到文件指针all所指向的文件中; main函数完成如下功能:先打开目标文件,再依次打开源文件,调用sub函数完成文件内容的拷贝。 例如二个源文件 f1.txt ,f2.txt, 每个文件的内容分别如下 文件名 内容 f1 aaa$aa f2 bbb$bb 则产生一个新的目标文件fall.txt,包括f1,f2二个文件字符'$'之前的内容,fall的内容为aabb。 #include #include main(){ FILE *f1, *f2,*fall; void sub(______1________ ); if ((fall=fopen(______2_______ ))==NULL) { printf("Cannot open file!\n"); exit(1); } if ((f1=fopen("f1.txt","r"))==NULL || (f2=fopen("f2.txt","r"))==NULL) { printf("Cannot open file!\n"); exit(1); } else { sub(______3________ ); ______4________ ; } fclose (f1); fclose(f2); } void sub(FILE *all, FILE *f1, FILE *f2) { char c; while((fgetc(f1))!='$'); while((c=fgetc(f1))!=EOF) fputc(c,all); while((fgetc(f2))!='$'); while((c=fgetc(f2))!=EOF) fputc(c,all); } 答案: #include #include main(){ FILE *f1, *f2,*fall; void sub(FILE*all, FILE*f1 ,FILE *f2); if ((fall=fopen("fall.txt","w"))==NULL) { printf("Cannot open file!\n"); exit(1); } if ((f1=fopen("f1.txt","r"))==NULL || (f2=fopen("f2.txt","r"))==NULL) { printf("Cannot open file!\n"); exit(1); } else { sub(fall,f1,f2); fclose (fall) ; } fclose (f1); fclose(f2); } void sub(FILE *all, FILE *f1, FILE *f2) { char c; char c; while((fgetc(f1))!='$'); while((c=fgetc(f1))!=EOF) fputc(c,all); while((fgetc(f2))!='$'); while((c=fgetc(f2))!=EOF) fputc(c,all); } 10. 程序运行时,输入整数n(0 void main() { int i,j,n; scanf("%d", &n); for(i=1; ____1____;i++) { for(j=1;j<=n+1-i;j++) putchar(' '); /* 输出空格 */ for(j=1;j<=____2____;j++) printf("%d",i); printf("____3____"); } getchar(); /*暂停程序,按任意键继续*/ } 答案: #include void main() { int i,j,n; scanf("%d", &n); for(i=1; ____ i<=n ____;i++) { for(j=1;j<=n+1-i;j++) putchar(' '); /* 输出空格 */ for(j=1;j<=____2*i-1____;j++) printf("%d",i); printf("____\n ____"); } getchar(); /*暂停程序,按任意键继续*/ } 11. 输入一行字符,统计并输出其中英文字母、数字和其他字符的个数。 运行示例: 输入字符串: ABCabc23+45# 各类字符个数:letter=6, digit=4, other=2 源程序: #include void main( ) { int digit, letter, other; char ____1____; digit = letter = 0; other = ____2____; printf("输入字符串: "); while( (ch = getchar())!= '\n') if((ch >= 'a' && ch <= 'z') || (____3____)) letter ++; else if (ch >= '0' && ch <= '9') digit ++; else ____4____; printf("各类字符个数:\n "); printf("letter=%d,digit=%d,other=%d\n",letter,digit,other); getchar(); /*暂停程序,按任意键继续*/ } 答案: #include void main( ) { int digit, letter, other; char ____ ch ____; digit = letter = 0; other = ____0____; printf("输入字符串: "); while( (ch = getchar())!= '\n') if((ch >= 'a' && ch <= 'z') || (____ch >= 'A' && ch <= 'Z'____)) letter ++; else if (ch >= '0' && ch <= '9') digit ++; else ____ other++____; printf("各类字符个数:\n "); printf("letter=%d,digit=%d,other=%d\n",letter,digit,other); getchar(); /*暂停程序,按任意键继续*/ } 12. 输入一个整数,逆序后输出。函数reverse(int number)的功能是返回number的逆序 数。例如reverse(12345)的返回值是54321。 运行示例: 输入整数: -1230 逆序后: -321 源程序: #include int reverse(int); void main( ) { int in; ____1____; printf("输入整数:"); scanf("%d", &in); m = ____2____; printf("逆序后:%d\n",m); getchar(); /*暂停程序,按任意键继续*/ } int reverse(int number) { ____3____; int res=0; flag = number < 0 ? -1 : 1; /* flag标志正负数 */ if(number < 0) number = - number; while(number != 0) { res = res*10 + number%10; ____4____; } return ____5____*res; } 答案: #include int reverse(int); void main( ) { int in; ____ int m ____; printf("输入整数:"); scanf("%d", &in); m = ____ reverse(in)____; printf("逆序后:%d\n",m); getchar(); /*暂停程序,按任意键继续*/ } int reverse(int number) { ____ int flag ____; int res=0; flag = number < 0 ? -1 : 1; /* flag标志正负数 */ if(number < 0) number = - number; while(number != 0) { res = res*10 + number%10; ____ number /= 10____; } return ____ flag ____*res; } 13. 程序运行时,输入整数n(0 void main() { int k,j,n; scanf("%d", ____1____); for(k=1;k<=n; ____2____) { for(j=1;j<=n+1-k;j++) putchar(' '); /* 输出空格 */ for(j=1;j<=2*k-1;j++) printf("%c",____3____); printf("\n"); } getchar(); /*程序暂停,按任意键继续 */ } 答案: #include void main() { int k,j,n; scanf("%d", ____&n ____); for(k=1;k<=n; ____ k++____) { for(j=1;j<=n+1-k;j++) putchar(' '); /* 输出空格 */ for(j=1;j<=2*k-1;j++) printf("%c",____'A'+j-1____); printf("\n"); } getchar(); /*程序暂停,按任意键继续 */ } 14. 输入一个长度小于80的字符串,将字符串中所有小写字母转换为相应的大写字母,大 写字母转换为相应的小写字母,其它字符不变,最后输出该字符串。 运行示例 输入字符串:abc+ABC=? 转换后的字符串:ABC+abc=, 源程序: #include #include void main() { int n; ____1____; char str[80]; printf("输入字符串:" ); gets(____2____); n= strlen(str); for(i=0; ____3____;i++) if(str[i]>='a'&& str[i]<='z') str[i]= ____4____; else if(str[i]>='A'&& str[i]<='Z') str[i]=str[i]+32; printf("转换后的字符串:" ); puts(str); getchar(); /*程序暂停,按任意键继续 */ } 答案: #include #include void main() { int n; ____ int i ____; char str[80]; printf("输入字符串:" ); gets(____str ____); n= strlen(str); for(i=0; ____ i='a'&& str[i]<='z') str[i]= ____ str[i]-32____; else if(str[i]>='A'&& str[i]<='Z') str[i]=str[i]+32; printf("转换后的字符串:" ); puts(str); getchar(); /*程序暂停,按任意键继续 */ } 15. 输入学生成绩,直到输入成绩的数量超过50个或者输入的成绩不是有效成绩(有效成 绩为0,100),将输入的有效成绩存入数组mark中,在数组中查找并输出最高分。函数 getmax(array,n)功能是,在有n个元素的一维数组array中找出最大值并返回。 运行示例: 输入成绩: 90 80 77 65 -1 Max = 90 源程序: #include #define MAXNUM 50 int getmax(int array[],int n) { int k, max; max = ____1____; for (k = 1; k < n; k++) if (max < array[k]) max = array[k]; return ____2____; } void main( ) { int k, x; int mark[MAXNUM]; printf("输入成绩:"); k = 0; scanf("%d", &x); while(k < MAXNUM && x >=0 && x <= 100){ mark[k] = x; k=____3____; scanf("%d", ____4____); } if(k > 0) printf("Max = %d\n", ____5____);/* 输出最高分 */ else printf("No marks!\n"); getchar(); /*程序暂停,按任意键继续 */ } 答案: #include #define MAXNUM 50 int getmax(int array[],int n) { int k, max; max = ____ array[0]____; for (k = 1; k < n; k++) if (max < array[k]) max = array[k]; return ____ max ____; } void main( ) { int k, x; int mark[MAXNUM]; printf("输入成绩:"); k = 0; scanf("%d", &x); while(k < MAXNUM && x >=0 && x <= 100){ mark[k] = x; k=____ k+1____; scanf("%d", ____&x ____); } if(k > 0) printf("Max = %d\n", ____ getmax(mark, k)____);/* 输出最高分 */ else printf("No marks!\n"); getchar(); /*程序暂停,按任意键继续 */ } 16. 程序运行时输出字符倒三角形。 abcdefg abcde abc a 源程序: #include void main() { int i,j; char k; for(i=1;i<=4;i++) { for(j=1; ____1____;j++) putchar(' '); /* 输出空格 */ k='a'; for(j=9-2*i; ____2____;j--) { printf("%c",____3____); k++; } putchar('\n'); } getchar(); /*暂停程序,按任意键继续*/ } 答案: #include void main() { int i,j; char k; for(i=1;i<=4;i++) { for(j=1; ____ j0____;j--) { printf("%c",____ k ____); k++; } putchar('\n'); } getchar(); /*暂停程序,按任意键继续*/ } 17. 输入一个长度小于40的字符串到数组s,并复制到数组t中,再将s中的字符串逆 序连接到t的后面并输出。例如:输入"ABCD",则字符串t为"ABCDDCBA"。 源程序: #include #include void main() { char s[80],t[80]; int i; ____1____; printf("输入字符串:" ); scanf("%s",s); m=strlen(s); for(i=0; ____2____;i++) t[i]=s[i]; for(i=0;i #include void main() { char s[80],t[80]; int i; ____ int m ____; printf("输入字符串:" ); scanf("%s",s); m=strlen(s); for(i=0; ____ i float f(float x[],int n, ____1____) { float y; int i; y=x[0]; for(i=1;iflag*y) y = ____2____; return y; } void main() { float a[6]={3,5,9,4,2.5,1},b[5]={3,-2,6,9,1}; float max; ____3____; max= f(a,6,1); min= ____4____; printf("%.2f\n",____5____); getchar(); /*暂停程序,按任意键继续*/ } 答案: #include float f(float x[],int n, ____ int flag ____) { float y; int i; y=x[0]; for(i=1;iflag*y) y = ____ x[i]____; return y; } void main() { float a[6]={3,5,9,4,2.5,1},b[5]={3,-2,6,9,1}; float max; ____ float min ____; max= f(a,6,1); min= ____ f(b,5,-1)____; printf("%.2f\n",____ max - min ____); getchar(); /*暂停程序,按任意键继续*/ } 19. 程序功能:运行时若输入a、n分别为2、5,则输出下列表达式的值。 2+22+222+2222+22222 #include void main() { int j,a,n,s,t=0; ____1____; scanf("%d%d",&a, ___2____); for(j=1; ___3____;j++) { t=t*10+1; s=____4____; } s=s*a; printf("%d\n",s); } 答案: #include void main() { int j,a,n,s,t=0; ____s=0____; scanf("%d%d",&a, ___&n____); for(j=1; ___j<=n____;j++) { t=t*10+1; s=____s+t____; } s=s*a; printf("%d\n",s); } 20. 程序完成以下功能:对x=1,2,...,10,求函数f(x)=x-10*cos(x)-5*sin(x)的最大值,并将该值 写到新建文件data.txt中。 #include #include void main() { FILE *p; float f(float),max,x; if((p=fopen("___1____ ","w"))==NULL) { printf("cannot open FILE\n"); exit(0); } max=f(1); for(x=2;x<=10;x++) if(___2____ #include void main() { FILE *p; float f(float),max,x; if((p=fopen("___data.txt____ ","w"))==NULL) { printf("cannot open FILE\n"); exit(0); } max=f(1); for(x=2;x<=10;x++) if(___max____ #include int f(char s[]) { int i=0, ___1____; while(s[i]!='\0') if(___2___ == 't') { strcpy(s+i,s+i+1); c=c+1; } else i++; ___3____; } void main() { int s; char str[80]; gets(str); s=f(___4____); printf("删除后的串为:") ; puts(str); printf("删除个数:%d",s) ; } 答案: #include #include int f(char s[]) { int i=0, ___c=0____; while(s[i]!='\0') if(___s[i]___ == 't') { strcpy(s+i,s+i+1); c=c+1; } else i++; ___return c____; } void main() { int s; char str[80]; gets(str); s=f(___str____); printf("删除后的串为:") ; puts(str); printf("删除个数:%d",s) ; } 22(程序功能:程序运行时输入变量n的值,则输出n的各位数字之和。(如n=1308,输出12, n=-3204输出9)。 #include #include <___1____> void main() { int n, ___2____; scanf("%d",&n); n=fabs(n); while(n>0) { s=____3____+n%10; n=____4____; } printf("%d\n",s); } 答案: #include #include <___math.h____> void main() { int n, ___s=0____; scanf("%d",&n); n=fabs(n); while(n>0) { s=____s____+n%10; n=____n/10____; } printf("%d\n",s); } 23(程序完成以下功能:z=f(x,y)=(3.14*x-y)/(x+y),若x、y取值为区间[1,6]的整数,找出使z 取最小值的x1、y1,并将x1、y1以格式"%d,%d"写入到新建数据文件data.txt中。 #include float f(float u, ___1____) { float y; y=(3.14*u-v)/(u+v); return y; } void main() { FILE *fp; float min; int x,y,x1,y1; min=100; if((fp=fopen("data.txt","___2____"))==NULL) { printf("cannot open FILE\n"); exit(0); } for(x=1;x<=6;x++) for(y=1;y<=6;y++) if(f(x,y) float f(float u, ___ float v ____) { float y; y=(3.14*u-v)/(u+v); return y; } void main() { FILE *fp; float min; int x,y,x1,y1; min=100; if((fp=fopen("data.txt","___w____"))==NULL) { printf("cannot open FILE\n"); exit(0); } for(x=1;x<=6;x++) for(y=1;y<=6;y++) if(f(x,y) #include void fun(___1____ s[]) { int i=0; while(s[i]!='\0') if(s[i]>= 'a'___2____s[i]<= 'z') strcpy(___3____,s+i+1); else i++; } void main() { char str[80]; gets(str); fun(___4____); printf("删除小写字母后的字符串:") ; puts(str); } 答案: #include #include void fun(___char ____ s[]) { int i=0; while(s[i]!='\0') if(s[i]>= 'a'___&&____s[i]<= 'z') strcpy(___s+i ____,s+i+1); else i++; } void main() { char str[80]; gets(str); fun(___str____); printf("删除小写字母后的字符串:") ; puts(str); } 25. 程序功能:函数f的功能将1个整数首尾倒置,该程序运行时输出结果为"54321 -76543"。 #include #include <___ math.h ____> int f(int n) { int m,y=0; m=fabs(___n ____); while(m!=0) { y=y*10+m%10; m=m/10____; ___ } if(n>=0) ___ return y ____; else return (-y); } void main() { printf("%d\t",f(12345)); printf("%d\n",f(-34567)); } 26. 程序功能:文本文件data.txt中存放每天的华氏温度数据,程序从data.txt中读取每天的温度数据进行统计,并输出高温天数(温度为华氏90或更高),舒适天数(温度为华氏 50~90),以及寒冷天数(温度小于华氏50),最后显示平均温度。 void main() { int n,fahr,hot,comfort,cold; double total,ave ; FILE *fp; if((fp=___ fopen ____ ("data.txt","r"))==NULL) //以读方式打开数据文件 { printf("can not open file!"); exit(0); } hot=comfort=cold=0; total=0; n=0; while(!feof(fp)) //当文件未读完时 { //从文件中读入华氏温度 fahr ___ fscanf ____ (fp,"%d",&fahr); total=___ total ____+fahr; n++; if(fahr>=90) hot++; else if (fahr>=50) comfort++ ; else cold++; } ave= total/n ; printf("hot=%d, comfort =%d,cold =%d, average =%f",hot,comfort,cold,ave); fclose(___fp ____); } 程序功能:输入一个字符串和一个正整数m,将该字符串中的前m个字符复制到另27. 一个字符串中,若输入的m值大于字符中的字符数,则复制整个字符串,然后再输出后一个 字符串。 若输入串:programing 输入整数为4,则输出串为:prog 若输入串:programing 输入整数为14,则输出串为:programing #include #include void main( ) { char s[80], t[80]; int m; int i ; printf("输入字符串:"); gets(s); printf("输入一个整数:"); scanf("%d", &m); for(i = 0; i < m && s[i]!= '\0' ; i++) t[i] = s[i] ; t[i] = '\0' ; printf("输出字符串:"); puts(t); }
/
本文档为【1&#46; 程序运行时输出如图所示的数字倒三角形 1234567 12345 123 1 源 &#46;&#46;&#46;】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索