C语言习题集

2026/1/20 18:38:47

班级: 学号: 姓名: 输入数据:第一行是测试数据的组数m,每组测试数据占1行,每行数据不超过1000个字符且非空。

输出要求:m行,每行对应一组输入,包括出现次数最多的字符和该字符出现的次数。如果有多个字符出现的次数相同且最多,那么输出ASCII码最小的那一个。

#include #include main( ) {

int cases, sum[10], i, max;

char str[1001];

scanf(\两处错误, while (cases > 0) {

scanf(\

for( i = 0; i < 10; i++) sum[i] = 0; for(i < 0; i < strlen(str); i++) ++sum[str[i] – ‘0’]; max = 0; for (i = 1; i < 10; i++)

if(sum[i] > sum[max]) max = i;

printf(\ cases --; } }

2.交换两个整数的值,保证调用函数中实参的值交换。

void exchang(int *p1, int *p2) {

int p;

p = *p1; *p1 = *p2; *p2 = p; }

三、编程

1. 编写程序输出3到10000内的可逆素数。可逆素数是指:一个素数将其各位数字的顺序倒过来构成的反序数也是素数。如157和751均为素数,它们是可逆素数。 要求:使用子函数实现,至少两个子函数。其它自便。(21分) 参考答案一:

prime函数用于判定素数。invert(int a)函数用于倒序一个数,如a=123,则invert函数返回值为321。

9 班级: 学号: 姓名: // 缩进、空格、空行、标识符命名等编程规范 2分

#include #include

#include //2分

int invert(int a) // 1分 {

int s = 0;

while (a > 0) // 1分 {

s = 10*s+ a % 10 ; // 2分 a /= 10; // 2分 }

return s; // 1分 }

int prime(int a) // 1分 {

int i;

for (i = 2; i <= (int)sqrt(a); i++) // 2分 if ( a % i==0) // 1分 return 0; // 1分 return 1; // 1分 }

int main() {

int i;

for (i = 3; i < 10000; i++) // 1分 if (prime(i)) // 1分

if (prime( invert(i) )) printf(\分 printf(\

return 0; }

2. 编写程序实现将一个文本文件TAB.TXT中的制表符'\\t'(ASCII码为0x09)换为8个空格并存入SPACE.TXT文本文件中。(19分) 参考答案一:

// 缩进、空格、空行、标识符命名等编程规范 2分

#include

#include //1分 #define SPACE8 \双引号内有8个空格*/ //2分

10 班级: 学号: 姓名:

int main() {

FILE *fpr, *fpw; //2分 char ch;

if ((fpr=fopen(\//1分 {

printf(\\\n\ exit(0); }

if ((fpw=fopen(\//1分 {

printf(\\\n\ exit(0); }

if (!feof(fpr)) // 1分 ch=fgetc(fpr); // 1分 while (ch!= EOF ) // while (ch!= -1 )//1分 {

if (ch!=9) // ch 1= 0x09 // 2分 fputc( ch, fpw ); // 1分 else

fprintf(fpw, \ // 2分 ch=fgetc(fpr); // 1分 }

fclose(fpr); //1分 fclose(fpw) ; //1分 return 0; }

11


C语言习题集.doc 将本文的Word文档下载到电脑
搜索更多关于: C语言习题集 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219