c语言实验题目总结

2018-12-20 10:14

1.编写power函数,该函数的功能是得到从键盘输入的两个数的X值。要求在主函数中调用power函数,实现求解从键盘上输入二进制数字,要求将其转化成十进制形式。并在主函数中输出十进制数。 2.#include 3.#include 4.int power(int x,int m) 5.{

6. int s=1, k;

7. for(k=1;k<=m;k++) 8. s=s*x; 9. return (s); 10.}

11.int f(char a[10]) 12.{ 13.

14. int i,j,sum=0; 15. j=strlen(a); 16. for(i=0;i

19. return (sum); 20.} 21.

22.main() 23.{

24. char s1[10]; 25. int s; 26. gets(s1); 27. s=f(s1);

28. printf(\

29.}//二进制转化成十进制 30.

附加:调用power函数实现一个从键盘输入十六进制数,输出十进制数。 #include #include

double power(double x,double m) { double s=1; int k; for(k=1;k<=m;k++) s=s*x; return (s); }

ydouble f(char a[10]) { int i,j; double sum=0; j=strlen(a); for(i=0;i='A'&&a[i]<='F') { sum=sum+(a[i]-'A'+10)*power(16,(j-i-1)); } else sum=sum+(a[i]-'0')*power(16,(j-i-1)); } return (sum); }

main() { int c; char s1[10]={0}; gets(s1); c=f(s1); printf(\

}//十六进制转化成十进制

2.编写isprime函数,该函数的功能是判断某数字是否是素数。要求在主函数中调用isprime函数,输出200~500之间的所有素数,并输出8个素数进行换行。 3.#include 4.int isprime(int m) 5.{ 6. int i,k; 7. k=1; 8. for(i=2;i

17. 18. 19.

20. return(k); 21.}

22.main() 23.{

24. int isprime(); 25. int m,k,count;

26. for(m=200;m<=500;m++) 27. { 28. k=isprime(m); 29. if(k==1) 30. { 31. printf(\32. count++; 33. if(count%8==0) 34. { 35. printf(\36. } 37. } 38. } 39. 40.} 41.

3.编写huiw函数,该函数的功能是判断某数是否是回文数。所谓回文数是指该数和该数的逆序数是相等的,如121,其逆序数也是121,所以121是回文数。要求在主函数中调用huiw函数,并在主函数中输出10~999之间该数、其平方和立方也都是回文数,输出5个数进行换行。

4.#include 5.main() 6.{

7. int huis(long n); 8. long m,j;

9. for(m=10;m<1000;m++) 10. { 11. if(huis(m)&&huis(m*m)&&huis(m*m*m)) 12. { 13. printf(\14. j++; 15. if(j%5==0) 16. printf(\17. } 18. }

19. 20. 21.}

22.int huis(long n) 23.{

24. long i=n,m=0; 25. while(i) 26. { 27. m=m*10+i; 28. i=i/10; 29. 30. }

31. return(m==n); 32.}

4.用二分法实现查找数组中的元素。

算法思想:假如有一组数为3,12,24,36,55,68,75,88要查给定的值24.可设三个变量front,mid,end分别指向数据的上界,中间和下界,mid=(front+end)/2。

(1)开始令front=0(指向3),end=7(指向88),则mid=3(指向36)。因为mid>x,故应在前半段中查找。

(2)令新的end=mid-1=2,而front=0不变,则新的mid=1。此时x>mid,故确定应在后半段中查找。

(3)令新的front=mid+1=2,而end=2不变,则新的mid=2,此时a[mid]=x,查找成功。

如果要查找的数不是数列中的数,例如x=25,当第三次判断时,x>a[mid],按以上规律,令front=mid+1,即front=3,出现front>end的情况,表示查找不成功。

#include void main() { int a[10]={3,5,8,12,15,21,26,29,30,50},front,end,mid,x; scanf(\ front=0; end=9; while(front<=end) { mid=(front+end)/2; if(a[mid]==x) { printf(\查找成功,下标为%d\ break; } else if(a[mid]>x)

{ end=mid-1; } else if(a[mid]end) printf(\查找不成功\ }

5 从键盘输入如下字符:******A*BC**D******,完成以下功能:1)当继续输入字符,输入的为L,删除左边的星号,将其放到右边,结果为: A*BC**D************;2)当继续输入字符,输入的为M,删除中间的星号,将其放到右边,结果为: ******ABCD*******;3)当继续输入字符,输入的为R,删除右边的星号,结果为: ******A*BC**D。 (1)#include 2. #include 3.

4. int main(void) 5. {

6. char s1[80] = \7. char s2[80];

8. int i=0,j=0,countstar=0; 9. int nSize = strlen(s1); 10.

11. for (i=0; i

s2[j]=0;

21. for (i = 0; s1[i] != '\\0'; i++) 22. { 23. if (s1[i] == '*') 24. { 25. countstar++; 26. }


c语言实验题目总结.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:交通规划课程设计——四阶段需求预测

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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