以下程序由终端键盘输入一个文件名,然后把从终端键盘输入的字符依次存放到该文件中,用作为结束输
以下程序中用户由键盘输入一个文件名,然后输入一串字符(用$结束输入)存放到此文件中,形成文本文件,并将字符的个数写到文件尾部。请填空。 include <string.h> main() { FILE*fp: char ch,fname[32] int count=0: prinft("input the filename:"): scanf("%s",fname); if((fp=fopen(______,"w+"))==NULL) { printf("cant open file:%s\n",fname); exit(0): } printf("enter data:\n"): while((ch=getchar())!=$) {fputc(ch,fp): count++; } fprintf(______,"\n%d\n", count); fclose(fp): }
逻辑结构程序设计
1.实验目的
①了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。
②学会正确使用逻辑运算符和逻辑表达式。
③熟练掌握if语句和switch语句。
④结合程序掌握一些简单算法。
⑤学习调试程序。
2.实验内容
本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
3.程序编写
①下面程序实现:输入三个整数,按从大到小的顺序进行输出。请在if后的()内填入正确内容。
main()
{int x,y,z,c;
scanf("%d%d%d",&x,&y,&z);
if( )
{c=y;y=z;z=c;}
if( )
{c=x;x=z;z=c;}
if( )
{c=x;x=y;y=c;}
printf("%d,%d,%d",x,y,z);
}
②以下程序实现:输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母:其他字符不变。请在()内填入正确内容。
main()
{char ch;
scanf("%c",&ch);
if( )ch=ch+32;
else if(ch>='a'&&ch<='z')( )
printf("%c",ch);
}
③试编程判断输入的正整数是否既是5的整数倍又是7的整数倍。若是,则输出yes;否则输出no。
④编程实现:有3个整数a,b,c,由键盘输入,输出其中最大的数。
⑤给出100分制成绩,要求根据成绩的多少,输出成绩等级“A”、“B”、“C”、“D”、“E”。90分以上为“A”,80~89分为“B”,70~79分为“C”,60~69分为“D”,60分以下为“E”。用switch语句进行编程。
编写一个程序,接收从键盘输入的10个十进制数字,输入回车键则停止输入,然后将这些数字加密后(用XLAT指令变换)存人内存缓冲区BUFFER。加密表如下所示。输人数字: 0,1,2,3,4,5,6,7,8,9 密码数字: 7,5,9,l,3,6,8,O,2,4
以下程序把从终端读入的文本(用@作为文本结束标志)输出到一个为out.dat的新文件中,请填空。
#include<stdio.h>
main()
{FILE*fp;char ch;
if((fp=______)==NULL) exit(0);
while((ch=getchar())!='@')
fputc(ch,fp);
fclose(fp);
}