(這些編程是大一時(shí)候作業(yè)里面的溉愁,興許對(duì)大一計(jì)算機(jī)專業(yè)的同學(xué)有一定的幫助)
1、輸入10個(gè)實(shí)數(shù)到一維數(shù)組中,將數(shù)組中的最大值和最小值交換位置版保。(用數(shù)組實(shí)現(xiàn))
#include
void main()
{
int a[10],i,j,amax,amin,t,x,y;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
amax=a[0];
for(i=1;i<10;i++)
if(a[i]>amax) {amax=a[i]; x=i;}
amin=a[0];
for(j=1;j<10;j++)
if(a[j]
t=amin;amin=amax;amax=t;
a[x]=amax;a[y]=amin;
for(i=0;i<10;i++)
printf("% d",a[i]);
}
2呜笑、輸入5個(gè)數(shù)后,輸出其中絕對(duì)值最小的數(shù)彻犁。要求定義帶參數(shù)的宏叫胁,計(jì)算兩個(gè)數(shù)中絕對(duì)值最小的數(shù)
#include
#include
#define min(a,b) (fabs((a))
void main()
{
int a[5],i,m;
scanf("%d",&a[0]);
m=a[0];
for(i=1;i<5;i++)
{?scanf("%d",&a[i]);
m=min(m,a[i]);
}
printf("%d",m);
}
3、輸入10個(gè)數(shù)汞幢,按絕對(duì)值從小到大排序后輸出驼鹅。要求定義一個(gè)函數(shù)sort,完成絕對(duì)值從小到大排序(用指針實(shí)現(xiàn)森篷,可以參考教材P188例子)
#include
#include
void sort(int *a,int n)
{
int i,j,k,t;
for(i=0;i
for(j=0;j
if(fabs(*(a+j))>fabs(*(a+j+1))){
t=*(a+j);
*(a+j)=*(a+j+1);
*(a+j+1)=t;
}
}
}
void main()
{
int b[10],i,n;
for(i=0;i<10;i++)
scanf("%d",&b[i]);
sort(b,10);
for(n=0;n<10;n++)
printf("%4d",b[n]);
}
4输钩、輸入n和x,n和x分別表示對(duì)數(shù)組前n個(gè)元素賦初值為x仲智。要求定義一個(gè)函數(shù)value买乃,完成對(duì)一維整型數(shù)組的n個(gè)元素進(jìn)行賦值,具體賦值x
#include
void value(int *a,int n)
{
int i,x;
scanf("%d",&x);
for(i=0;i
*(a+i)=x;
}
void main(){
int b[10],n,i;
scanf("%d",&n);
value(b,n);
for(i=0;i
printf("%d ",b[i]);
}
5坎藐、編寫函數(shù)void reverse(char* s);
將形參s所指向的字符串反轉(zhuǎn)(如s指向字符串為”hello world”为牍,反轉(zhuǎn)后為”dlrow olleh”)。編寫main函數(shù)岩馍,在main中調(diào)用reverse函數(shù)碉咆,并輸出反轉(zhuǎn)后的字符串。(去年期末考題)
#include
#include
void RevStr(char *str)
{
int len;
char *ptr;
len = strlen(str);
ptr = str + len - 1;
while(str != ptr)
{
char ch;
ch = *str;
*str = *ptr;
*ptr = ch;
str++;
if(str == ptr)
break;
else
ptr--;
}
}
int main()
{
char str[80];
gets(str);
RevStr(str);
printf("%s",str);
return 0;
}
6蛀恩、定義一個(gè)函數(shù)疫铜,將一個(gè)字符串中的所有小寫字母轉(zhuǎn)換為相應(yīng)的大寫字母,其余字符不變
#include
void daxie(char *s)
{while(*s!='\0')
{
if(*s>='a'&&*s<='z')
*s-=32;
s++;
}
}
void main()
{
char str[80];
gets(str);
daxie(str);
puts(str);
}
7双谆、定義一個(gè)函數(shù)壳咕,計(jì)算兩個(gè)數(shù)的和與乘積(要求用指針實(shí)現(xiàn))
#include
double he(double p,double q)
{?return q+p;
}
double ji(double p,double q)
{?return q*p;
}
void main()
{double x,y;
scanf("%lf%lf",&x,&y);
printf("%.1lf %.1lf",he(x,y),ji(x,y));
}
8、定義函數(shù)total(n)計(jì)算1+2+……+n顽馋,定義函數(shù)fact(n)計(jì)算n!( n!=1*2*……*n)谓厘,函數(shù)total的返回值類型為int,函數(shù)fact的返回值類型為double寸谜;在main()中輸入正整數(shù)n竟稳,計(jì)算并輸出下列算式的值。該算式中熊痴,每一項(xiàng)的分子是累加和他爸,分母是階乘,要求調(diào)用函數(shù)total(n)計(jì)算1+2+……+n果善,調(diào)用函數(shù)fact(n)計(jì)算n!诊笤。
y=1+(1+2)/2!+(1+2+3)/3!+...+(1+2+...+n)/n!
#include
int total(int n)
{
int i;
int t=0;
for(i=1;i<=n;i++)
t+=i;
return t;
}
double fact(int n)
{
int i;
double s=1;
for(i=1;i<=n;i++)
s*=i;
return s;
}
void main()
{
int i,n;
double y=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
y+=total(i)/fact(i);
printf("%.3f",y);
}