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
源程序:
#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. 程序运行时输出如图所示的数字倒三角形 1234567 12345 123 1 源 ...】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。