C语言编程 高手进进进
我有几个编程题不知道 麻烦高手帮帮忙 1、编程题:键盘输入10个整数,利用选择法从小到大排序。(要求使用地址传递和函数调用)提示:利用void sort(int *p)函数完成排序功能。
2、编程题:编程题:输入一个华氏温度(F),要求输出摄氏温度(C),公式为 ,输出结果取两位小数。.
3、编程题:递归求1+2+3+4+…+100。提示:
4、键盘输入三个数,按照从小到大的顺序输出。(要求使用指针变量作为函数参数)
提示:定义void swap(int *p1, int *p2)实现两个数的交换
补充:如果全说的话 感觉累 就 抽几个
答案:1
#include<stdio.h>
#define N 10
void sort(int *p){
int i,j,r,temp;
for(i=0;i<N-1;i++){
r=i;
for(j=i+1;j<N;j++)
{
if(p[r]>p[j])
r=j;
}
if(r!=i){
temp=p[r];
p[r]=p[i];
p[i]=temp;
}
}}
void main()
{
int i,str[N];
printf("请输入10个整数:");
for(i=0;i<N;i++)
scanf("%d",&str[i]);
sort(str);
for(i=0;i<N;i++)
printf("%4d",str[i]);
printf("\n");
}
2#include<stdio.h>
void main()
{
float f,c;
printf("\t\t功能是将华氏温度F转换成摄氏温度C\n\n");
printf("\t\t公式:C=(5*(F-32))/9\n\n\n");
printf("请输入一个华氏温度:");
scanf("%f",&f);
c=(5*(f-32))/9;
printf("华氏温度%.2f转换成摄氏温度为:%.2f\n",f,c);
}
3#include<stdio.h>
int func(int num)
{
int sum=0;
if(num<=100)
sum=func(num+1)+num;
return sum;
}
void main()
{
printf("1+2+3+4+....+100=%d\n",func(1));
}
4#include<stdio.h>
void swap(int *p1,int *p2)
{
int p;
p=*p1;
*p1=*p2;
*p2=p;
}
void main()
{
int a,b,c;
int *p1,*p2,*p3;
printf("please input 3 number:a,b,c:");
scanf("%d%d%d",&a,&b,&c);
p1=&a;p2=&b;p3=&c;
if(a>b)swap(p1,p2);
if(a>c)swap(p1,p3);
if(b>c)swap(p2,p3);
printf("the sorted numbers are:%d,%d,%d\n",a,b,c);
}
1、
#include <stdio.h>
void sort(int* a, int n)
{
int i, j, k, t;
for(i = 0; i < 10; ++i)
{
k = i;
for(j = i + 1; j < 10; ++j)
if(a[j] < a[k])
k = j;
if(k != i)
t = a[k], a[k] = a[i], a[i] = t;
}
}
int main(void)
{
int a[] = {6,1,2,3,9,5,4,8,7,0}, i;
sort(a, 10);
for(i = 0; i < 10; ++i)
printf("%d ", a[i]);
return 0;
}
2、
#include <stdio.h>
int main(void)
{
float F, C;
printf("input F=");
scanf("%f", &F);
C = 5.0/9 * (F - 32);
printf("C=%.2f\n", C);
return 0;
}
3、
#include <stdio.h>
int sum(int n)
{
return n > 1 ? n + sum(n-1) : 1;
}
int main(void)
{
printf("1+2+3+..+99+100 = %d", sum(100));
return 0;
}
4、
#include <stdio.h>
void swap(int *p1, int *p2)
{
int t;
t = *p1; *p1 = *p2; *p2 = t;
}
int main(void)
{
int a, b, c;
scanf("%d%d%d", &a,&b,&c);
if(a > b) swap(&a, &b);
if(a > c) swap(&a, &c);
if(b > c) swap(&b, &c);
printf("%d %d %d\n", a, b, c);
return 0;
}下面是第一题 稍等片刻 呵呵 多加点分
#include<stdio.h>
int main()
{
int i,j,index,a[10],temp;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
{
index=i;
for(j=i+1;j<10;j++)
{
if(a[index]>a[j])
index=j;}
temp=a[i];
a[i]=a[index];
a[index]=temp;
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}
上一个:怎样才能学好c语言?
下一个:C语言宏定义 和 编程模块化