常见C语言程序Word格式.docx
《常见C语言程序Word格式.docx》由会员分享,可在线阅读,更多相关《常见C语言程序Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
,*p1,*p2);
swap(&
iData2);
swap中:
交换后:
}
else
}
voidswap(int*a,int*b)
intc;
c=*a;
*a=*b;
*b=c;
2.将一个数插入到按升序排序的数列中,新数列仍然有序,用指针实现。
string.h>
#defineN10
{
inta[N],i,k,t;
int*p=&
a[8];
请输入9个数:
"
for(i=0;
i<
N-1;
i++)
scanf("
%d"
a+i);
请输入1个数:
a[9]);
for(i=9;
i>
=1;
i--)
if(*p>
a[i])
{
t=*p;
*p=a[i];
a[i]=t;
}
p--;
N;
printf("
%d"
a[i]);
3.编写一段程序,输入一个3×
4的整型矩阵,输出矩阵中的最大值及其下标。
4.随机存入n个数据存入数组,通过指针参数传递将数组中的最大元素与第一个元素交换,最小元素与最后一个元素交换。
#defineN100
inti,n;
inta[N],*p,*pmax,*pmin,*first,*last;
共有几个数(1~100)?
"
n);
它们是:
for(p=a;
p<
a+n;
p++)
p);
pmax=a;
*pmax)
pmax=p;
pmin=a;
if(*p<
*pmin)
pmin=p;
数组为:
n;
最大数是%d\n"
*pmax);
最小数是%d\n"
*pmin);
first=a;
last=a+n-1;
swap(first,pmax);
swap(last,pmin);
最大元素与第一个元素交换,最小元素与最后一个元素交换为:
}
5.通过指针参数传递,计算自然数n的阶乘。
6.以下程序将数组a中的数据按逆序存放
#defineM8
inta[M],i,j,t;
for(i=0;
i<
M;
i++)
scanf("
a+i);
i=0;
j=M-1;
while(i<
j)
t=*(a+i);
*(a+i)=*(a+j);
*(a+j)=t;
i++;
j--;
printf("
%3d"
*(a+i));
7.以下程序的功能是求二维数组a中的最大值与二维数组b中的最大值之差
#include<
floatfindmax(float*x,intm,intn)
inti,j;
floatmax=*x;
for(i=0;
m;
for(j=0;
j<
j++)
if(*(x+i*m+j)>
max)
max=*(x+i*m+j);
returnmax;
voidmain()
floata[3][3],b[3][2];
inti,j;
for(i=0;
3;
for(j=0;
j<
j++)
scanf("
%f"
&
a[i][j]);
2;
b[i][j]);
%f\n"
findmax(a[0],3,3)-findmax(b[0],2,3));
8.99乘法表
for(i=1;
=9;
for(j=1;
=i;
printf("
%1dx%1d=%-4d"
j,i,j*i);
9.计算n的阶乘
inti;
floatf=1;
=10;
f=f*i;
%2d!
=%.0f\n"
i,f);
10.开发“家乐福收银系统”
intnum,count;
charname,c,q;
floatip,op,cut;
*****************⊙*****************\n"
**\n"
*◎录入商品信息*\n"
do
请输入商品编号:
num);
请输入商品名称:
%s"
name);
请输入商品进价:
ip);
请输入商品售价:
op);
请输入商品折扣:
cut);
请输入商品数量:
count);
您刚录入的信息如下:
编号名称进价售价折扣数量\n"
%-4d%-4c%-6.2f%-4.2f%-6.2f%-4d\n"
num,name,ip,op,cut,count);
本次输入完毕,按q键退出,其它键继续输入\n"
fflush(stdin);
c=getchar();
while(c!
='
q'
11.已知五个字符串"
China"
"
American"
Japan"
"
France"
Australia"
编程将它们按从小到大的顺序排列起来。
intj,k;
chart[81],b[5][81]={"
};
for(j=0;
4;
for(k=j+1;
k<
5;
k++)
if(strcmp(b[j],b[k])>
0)
strcpy(t,b[j]);
strcpy(b[j],b[k]);
strcpy(b[k],t);
%s\n"
b[j]);
12.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
本题要求输入一行字符,应使用gets()函数,不能使用scanf()函数输入。
charstr[N];
inti,z=0,k=0,s=0,q=0;
puts("
输入任意一行字符:
gets(str);
str[i]!
=0;
if(('
A'
<
=str[i]&
&
str[i]<
Z'
)||('
a'
z'
))
{
z++;
}
elseif(str[i]='
\0'
)
k++;
elseif(('
0'
9'
s++;
else
q++;
您输入的字母的个数为%d\n"
z);
您输入的空格的个数为%d\n"
k);
您输入的数字的个数为%d\n"
s);
其它字符的的个数为%d\n"
q);
13.编一程序,用字符指针将两个字符串连接起来,连接功能用函数实现,要求不使用strcat函数。
charcData1[N],cData2[N];
char*p1