常熟理工学院C语言题库最新版 下载本文

{ t=prod=n*n;

k= 【 】 ; while(t!=0) { }

【 】 ; dw=prod-prod/k*k; if( 【 】 )

printf(\

} return 0; }

本程序的功能是求2~100之间的守形数;所谓守形数是指该数的平方的低位数与该数相同;例如,252=625,其低位数为25,25是守形数。

#include int main() {

int n,prod,t,dw,k; for(n=2;n<=100;n++) {

t=prod=n*n; k= 【 】 ; while(t!=0) { } k/=10;

dw=prod-prod/k*k; if( 【 】 )

printf(\

} return 0; }

下面程序中函数delchar(s, c)的功能是:将字符串s中出现的所有c字符删除。

void delchar(char s[ ],char c) {

int j=0, k=0; while(s[j] != '\\0') {

if(s[j] != c) { }

【 】 ; }

【 】 ; }

s[k] = s[j]; 【 】 ; k*=10; 【 】 ;

k*=10; t/=10;

int main() {

char ch[]=\delchar(ch,c); puts(ch); return 0; }

将一个整数插入到已经排好序的数组中,使该数组仍有序。

#include int main() {

int i,j,n;

int a[11]={1, 20, 30, 40, 50, 60, 70, 80, 90, 110}; printf(\scanf(\for(i=0;i<10;i++)

if(a[i]>n) {

for(j=9;j>=i;j--)

【 】 ; break;

} 【 】 ; printf(\for(i=0;i<=10;i++)

printf(\return 0; }

下面程序的功能是:将输入的正整数按逆序输出,例如:若输入135则输出531,请填空。

#include int main() {

int n,s;

printf(\scanf(\printf(\do {

s=n; printf(\ 【 】 ; }while( 【 】 ); return 0; }

本程序的功能是:合并两个已经按照升序排列的一维数组;例如合并前数组a[10]={1,3,5,7,9},b[5]={2,4,8,16,32},合并后a[10]={1, 2,3, 4,5,7,8,9,16,32}。

#include int main() {

int i,j,k,a[10]={1,3,5,7,9},b[5]={2,4,8,16,32};

for(k=0;k<5;k++)

if(b[k]>a[k+4])

a[k+5]= 【 】 ; else {

for(i=0;a[i]=i;j--)

【 】 ; a[i]=b[k]; }

for(k=0;k<9;k++)

printf(\printf(\return 0; }

下面程序的功能是:统计一个字符串中数字字符“0”到“9”各自出现的次数,统计结果保存在数组count中。

#include

void statis(char *t, int count[]) {

char 【 】 ; while(*p) {

if(*p>='0'&&*p<='9')

count[*p-48]++; 【 】 ; } } int main() {

char ch[80]=\int count[10]={0}, k; statis(ch, count); for(k=0; k<10; k++)

if(count[k])

printf(\

return 0; }

本程序的功能是:合并两个已经按照升序排列的一维数组;例如合并前数组a[10]={1,3,5,7,9},b[5]={2,4,8,16,32},合并后a[10]={1, 2,3, 4,5,7,8,9,16,32}。

#include int main()

{ int i,j,k,a[10]={1,3,5,7,9},b[5]={2,4,8,16,32};

for(k=0;k<5;k++)

if(b[k]>a[k+4])

a[k+5]=b[k] ; else

{ for(i=0;a[i]< 【 】 ;i++);

for(j=k+5;j>=i;j--)

【 】 ; a[i]=b[k]; }

for(k=0;k<9;k++)

printf(\printf(\return 0; }

下面程序的功能是:统计一个字符串中数字字符“0”到“9”各自出现的次数,统计结果保存在数组count中。

#include

void statis(char *t, int count[]) { char *p=t;

while(【 】 ) { if(*p>='0'&&*p<='9')

count[*p-48]++; } } int main() {

char ch[80]=\int count[10]={0}, k; statis(ch, count); for(k=0; k<10; k++)

if(count[k]) printf(\return 0; }

下面程序的功能是统计文件中的字符个数。

# include int main() {

FILE *fp; int num=0;

if((fp=fopen(\【 】) {

printf( \exit(1); } while( 【 】 ) {

putchar(fgetc(fp)); num++; } printf(\fclose(fp); return 0; }

【 】 ;