当前位置:编程学习 > C/C++ >>

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语言宏定义 和 编程模块化

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,