教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 行业资料 >

扬州大学C语言上机题

来源:网络收集 时间:2026-08-30
导读: 扬大C语言教材 周彩英《C语言程序设计》,上机实验程序参考 请设计程序,将一字符串做压缩处理。编程要求如下: (1) 编写一个函数int compress(char s[]),将s中连续出现的多个相同字符压缩为一个字符,统计被删除的字符个数,返回被删除的字符个数; (2)

扬大C语言教材 周彩英《C语言程序设计》,上机实验程序参考

请设计程序,将一字符串做压缩处理。编程要求如下:

(1) 编写一个函数int compress(char s[]),将s中连续出现的多个相同字符压缩为一个字符,统计被删除的字符个数,返回被删除的字符个数;

(2) 编写函数main,从键盘读入一行字符数据存入一个字符型数组中,调用compress函数对该字符数组中存储的字符做压缩处理,输出压缩后的字符串。

测试数据:

@@@@@@ I wwillll succesful &&&&&& and you too !!!!!!##########

运行结果:

@ I wil sucesful & and you to !#

30

#include<stdio.h>

#include<string.h>

int compress(char a[])

{

int i,j=0,k=strlen(a);

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

if(a[i+1]!=a[i])

a[j++]=a[i];

a[j]='\0';

return (k-j);

}

void main()

{

char str[81];

int t;

gets(str);

t=compress(str);

puts(str);

printf("zi fu shu=%d\n",t);

getch();

}

请按要求编写程序。编程要求:

(1)编写函数long Fibonacci(int n),其功能是:求Fibonacci数列中大于t 的最小的一个数,函数返回该数。下列数列为Fibonacci数列:1,1,2,3,5,8,13,21,……,即从第3项开始,每一项均为前两项的和。

(2)编写main函数,从键盘上输入一个整数t,用t作为实在参数调用Fibonacci函数,并输出调用结果。

例如,当t=1000时,输出为1597。

#include<stdio.h>

long Fibonacci(long int n);

main()

{long int n;

扬大C语言教材 周彩英《C语言程序设计》,上机实验程序参考

scanf("%ld",&n);

Fibonacci(n);

getch();

}

long Fibonacci(long int n)

{ long int x=1,y=0;

while(x<=n)

{x=x+y;

y=x-y ;

}

printf("%ld",x) ;

}

请编写函数int twinborn(int a[][2],int m,int n),其功能是找出[m,n]中的所有孪生质数对(相差为2的两个质数称为孪生质数),并依次将每对孪生质数写到a指向的二维数组的每一行中。编写main函数,声明一个100×2的二维数组a,并从键盘上输入m和n的值,用a、m、n 作为实在参数调用函数twinborn,将结果数组以行为单位输出至屏幕。例如,测试数据和运行结果如下:

input two numbers:10 100

11, 13

17, 19

29, 31

41, 43

59, 61

71, 73

#include<stdio.h>

#include<math.h>

int prime(int i)

{int k;

for(k=2;k<sqrt(i);k++)

if(i%k==0)

return 0;

return 1;

}

int twinborn(int a[][2],int m,int n)

{ int k=0,i;

for(i=m;i<=n-2;i+=1)

if(prime(i)&&prime(i+2))

a[k][0]=i,a[k][1]=i+2,k++;

return k;

}

main()

{ int a[100][2],m,n,i;

扬大C语言教材 周彩英《C语言程序设计》,上机实验程序参考

printf("input two numbers:");

scanf("%d%d",&m,&n);

m=twinborn(a,m,n);

for(i=0;i<m;i++)

printf("%5d,%5d\n",a[i][0],a[i][1]);

getch();

}

请按要求编写程序。编程要求:

(1)编写函数int twinborn(int m,int n),其功能是判断整数m和n是否为孪生质数对(相差为2的两个质数称为孪生质数),如是,则函数返回值1,否则返回值0。

(2)编写main函数,求出[10,99]内的所有孪生质数对,使得程序的运行结果为:

11, 13

17, 19

29, 31

41, 43

59, 61

71, 73

#include<stdio.h>

#include<math.h>

int prime(int m)

{

int n;

for(n=2;n<=sqrt(m);n++)

if(m%n==0)

return 0;

return 1;

}

int twinborn(int m,int n)

{ if(prime(m)+prime(n)==2)

return 1;

else

return 0;

}

main()

{

int m,n;

for(n=10;n<=97;n++)

{ m=n+2;

if(twinborn(m,n)==1)

printf("%5d,%5d\n",n,m);

}

}

扬大C语言教材 周彩英《C语言程序设计》,上机实验程序参考

水仙花数是指一个3位数,其各位数字的立方和等于该数本身。完善函数int daffodil(int n),其功能是判断整数n是否为水仙花数,如是,则该函数返回值1,否则返回值0。

#include<stdio.h>

int daffodil(int n)

{int i,k,j;

i=n/100;

k=n/10%10;

j=n%10;

if(n==i*i*i+k*k*k+j*j*j)

return 1;

else

return 0;

}

main()

{ int m,i=0;

for(m=100;m<1000;m++)

if(daffodil(m)==1)

{ printf("%5d",m);

i++;

if(i%5==0)

printf("\n");

}

getch();

}

请按下列要求编程:(1)

编写函数void

fun(char x[]),其功能是在x指向的字符串中的所有数字字符之前分别插入1个字符'$';(2) 编写main函数,定义一个字符数组a,用测试数据中的数据初始化字符数组a,用a作为实在参数调用函数fun,输出结果字符串。测试数据:a1b34cdef5运行结果:a$1b$3$4cdef$5

#include<stdio.h>

#include<string.h>

void fun(char x[])

{int i,k;

for(i=0;x[i]!='\0';i++)

{if(x[i]>='1'&&x[i]<='9')

{k=strlen(x);

while(k>i) {x[k]=x[k-1];k--;}

x[i]='$';

i++;

}

else continue;

}

扬大C语言教材 周彩英《C语言程序设计》,上机实验程序参考

x[i]='\0';

}

void main()

{

char a[20]={"a1b34cdef5"};

fun(a);

puts(a);

getchar();

}

编写函数int delnum(char s[]),其功能是:将s指向的字符串中的数字字符删除,函数返回被删除的数字字符的个数。编写main函数,声明一个长度为80的字符型数组item并用下列测试数据初始化,用item作为实在参数调用函数delnum,输出结果字符串及被删除的数字字符的个数。

测试数据为:my2009xy3com+

输出结果为:myxycom+,5。

#include <stdio.h>

#include<string.h>

int delnum(char s[80])

{

int i,j,n;

n=strlen(s);

for (i=0,j=0;s[i]!='\0';i++)

if (!(s[i]>='0'&& s[i]<='9'))

{ s[j]=s[i];j++;}

s[j]='\0';

return n-strlen(s);

}

void main()

{

char item[80]="my2009xy3com+";

int n;

pri …… 此处隐藏:1738字,全部文档内容请下载后查看。喜欢就下载吧 ……

扬州大学C语言上机题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/2273413.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)