华北水院高级语言程序设计(C语言)实验报告
20##--2013学年 第二学期 2012级 专业
班级: 学号 : 姓名:
一、实验题目:循环结构程序设计
二、实验目的:(略)
三、实验内容
1. 程序验证(略)
2.程序设计
1) 找出100-900之间的无暇素数。所谓无暇素数是指本身为素数,且其逆序数也是素数的数。例如:113是一个素数,311也是一个素数,113就是无暇素数。
源代码: 运行结果:
int bSingle100_900(int v) /*这是自定义的函数,判断是否是100~900之间的素数*/
{
int i;
if(v%2) ;else return 0;
for(i=3;i<=v/2;i+=2)if(v%i);else return 0;
return 1;
}
void main()
{
int a,b,c,d,e,w;
for(a=101;a<=900;a+=2)
{
c=a/100;
d=a/10%10;
e=a%10;
w=100*e+10*d+c;
if( bSingle100_900(a) && bSingle100_900(w) ) printf("%d \t",a);
}
}
2) 编程:用迭代法求某数a的平方根。平方根的迭代公式如下:
xn+1=(xn+a/xn)/2; 设x0=a/2;
当迭代相邻两项差的绝对值小于10-5时,迭代结束。
源代码: 运行结果:
#include <stdio.h>
#include <math.h>
int main()
{
double x1,x2,a;
int f;
printf("请输入a:");
scanf("%lf",&a);
x1=a/2;x2=0;f=0;
while(1)
{
x1=(x1+a/x1)/2;
if(f) break;
if(abs(x1-x2)<1e-5) f=1;x2=x1;
}
printf("%lf",x1);
}
华北水院高级语言程序设计(C语言)实验报告
20##--2013学年 第二学期 2012级 专业
班级: 学号 : 姓名:
3) 编写一个智力测验小游戏。由计算机给出10道100以内的四则运算,每道题10分,由用户给出答案。最后统计该用户得分。
源代码: 运行结果:
第二篇:新编c语言实验,实验报告三
c语言实验报告三
1,行上最大列上最小。- #include"stdio.h"- main()-
{-
int a[3][3],j,i,max,col,flag;- for(i=0;i<3;i++)- {for(j=0;j<3;j++)- scanf("%d",&a[i][j]);- }-
printf("\n");-
for(i=0;i<3;i++)- {-
max=a[i][0];-
for(j=1;j<3;j++)- {-
if(a[i][j]>a[i][0])- {-
max=a[i][j];-
col=j;-
}-
flag=1;-
}-
for(j=0;j<3;j++)- {-
if(max>a[j][col])- {-
max=a[j][col];- flag=0;-
break;-
}-
}-
if(flag==1)-
{-
printf("row=%d,column=%d,value=%d\n",i,col,max);- }-
}-
}-
2,一串字符中各类字符数。-
#include"stdio.h"-
main()-
{-
int i,y,k,s,q;-
char ch[50];-
printf("请输入一个50字符以内的字符串:\n");-
gets(ch);-
i=0;y=0;k=0;s=0;q=0;-
for(i=0;i<50;i++)-
{-
-
if(ch[i]=='\0')-
{-
q++;-
break;-
}-
else-
{-
if(((ch[i]>='a')&&(ch[i]<='z'))||((ch[i]>='A')&&(ch[i]<='Z')))- y++;-
else if(ch[i]==' ')-
k++;-
else if((ch[i]>='0')&&(ch[i]<='9'))-
s++;-
else q++;-
}-
}-
printf("这个字符串里面共有数字字符%d,英文字符%d,空格字符%d,其他字符%d\n",s,y,k,q);- }-
3,判断两个字符串是否相等。-
#include"stdio.h"-
main()-
{-
char strl1[10],strl2[10];-
int j,flag;-
j=0;-
printf("\n");-
scanf("%s,%s",&strl1,&strl2);-
while(strl1[j]=strl2[j])-
{-
j++;-
if(strl1[j]=='\0'||strl2[j]=='\0')-
{-
break;-
}-
}-
if(strl1[j]=='\0'&&strl2[j]=='\0')-
{-
flag=1;-
}-
else-
{-
flag=0;-
}-
if(flag==1)-
{-
printf("the two string are equal.");-
}-
else{ -
printf("the two string are not equal.");- }-
}-
4,输入两个字符串,将其连接为一个字符串 #include"stdio.h"
main()
{
int i,j;
char str1[50],str2[20];
printf("输入两个字符串:");
gets(str1);
gets(str2);
for(i=0;str1[i]!=0;i++);
for(j=0;str2[j]!=0;j++)
{
str1[i]=str2[j];
i++;
}
str1[i]='\0';
printf("%s",str1);
}
5,输入一个2到9的数,并形成一个2到9的矩阵 #include"stdio.h"
main()
{
int m,i,j;
char str[9][9];
printf("输入一个2到9的数:");
scanf("%d",&m);
for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
str[i][j]=(i+1)*(j+1);
printf("%-3d",str[i][j]);
}
printf("\n");
}
}
6,输入一个字符串,并计算一个字符串a爱到z26个字符各自的个数 #include"stdio.h"
main()
{
int i,j;
char str1[50],str2[26];
printf("输入一个字符串:");
gets(str1);
for(i=0;i<26;i++)
str2[i]=0;
for(j=0;str1[j]!=0;j++)
{
i=str1[j]-'a';
str2[i]=str2[i]+1;
}
for(i=0;i<26;i++)
printf("str1[%d]=%-3d",i,str2[i]);
}
7,程序调试
void add(int b[],int n)
{
int i;
printf("\n");
for(i=0;i<n;i++)
{
printf("%d, ",b[i]);
b[i]++;
}
}
main()
{
int j;
static int a[]={0,1,2,3,4,5,6,7,8,9};
add(a,10);
printf("\n");
for(j=0;j<10;j++)
{
printf("%d, ",a[j]);
}
}
8,编写一个从指定字符串中删除指定字符的函数
#include"stdio.h"
main()
{
void delchar(char str[],char c);
char str[30],c;
printf( "请输入一个字符串:");
gets(str);
printf("请输入一个你想删除的字符:");
c=getchar();
delchar(str,c);
puts(str);
}
void delchar(char str[],char c)
{
int i,j;
for(j=i=0;str[i]!=0;i++)
{
if(str[i]==c)i++;
str[j]=str[i];
j++;
}
}
9.编译程序实现在一个字符串指定字符后插入其出现的相应次数 #include"string.h"
#include"stdio.h"
main()
{
void test(char str[],char c);
char str[30],c;
printf( "请输入一个字符串:");
gets(str);
printf("输入你希望插入位置的前一个字符:");
c=getchar();
test(str,c);
puts(str);
}
void test(char str[],char c)
{
int i,j,m=0;
for(i=0;str[i]!=0;i++)
{
for(j=strlen(str);j>i;j--)
str[j]=str[j-1];
str[j]=m;
m++;
}
}
10,编写一个fun函数,讲一个数字字符转化为一个整数#include"stdio.h" main()
{
long fun(char str[]);
long m;
char str[30];
printf( "请输入一个字符串:");
gets(str);
m=fun(str);
printf("%d",m);
}
long fun(char str[])
{
int i,a;
long b=0;
for(i=0;str[i]!=0;i++)
{
a=str[i]-'0';
b=b*10+a;
}
return(b);
}
-
-
-
-