| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 438 人关注过本帖
标题:大一新生,对编程很感兴趣,才写了个程序有一个错,不知道在哪,求助!!!
只看楼主 加入收藏
渚清沙白
Rank: 3Rank: 3
来 自:湖南财政经济学院
等 级:论坛游侠
帖 子:25
专家分:114
注 册:2012-5-5
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:2 
大一新生,对编程很感兴趣,才写了个程序有一个错,不知道在哪,求助!!!
程序代码:
#include <stdio.h>             /*是为了根据用户选择来处理用户输入的数据*/
void main()
{
  int a[10];
  int i,j,t,n;
  char ch;
  float av;
    printf("input 10 numbers :\n");     
  for (i=0;i<10;i++)                    /*请用户输入要求处理的10个数据*/
  scanf("%d",&a[i]);
  printf("\n");
  printf("A: From small to big\nB: From big to small\nC: The maximum and minimum\nD: Average\n");/*提示用户各选项功能*/
  printf("\n");
  printf("Please from A, B, C, D of choice.\n");
  scanf("%c",ch);
  switch
  {
  case'A':
      {
          for(j=0;j<9;j++)
          {
              n=0;
              for(i=0;i<9-j;i++)
              if (a[i]>a[i+1])
              {
              t=a[i];a[i]=a[i+1];
              a[i+1]=t;
              n++;}
              if(n==0)
              break;
          }
              printf("From small to big numbers :\n");
              for(i=0;i<10;i++)
              {
              printf("%d",a[i]);
              printf("\n");
              }
      }  break;
  case'B':
      {
              for(j=0;j<9;j++)
          {
              n=0;
              for(i=0;i<9-j;i++)
              if (a[i]<a[i+1])
              {
              t=a[i];a[i]=a[i+1];
              a[i+1]=t;
              n++;}
              if(n==0)
              break;
          }
              printf("From big to small numbers :\n");
              for(i=0;i<10;i++)
              {
              printf("%d",a[i]);
              printf("\n");
              }
      }  break;
  case'C':
      {
              for(j=0;j<9;j++)
          {
              n=0;
              for(i=0;i<9-j;i++)
              if (a[i]<a[i+1])
              {
              t=a[i];a[i]=a[i+1];
              a[i+1]=t;
              n++;}
              if(n==0)
              break;
          }
              printf("The maximum numbers :%d\n",a[0]);
              printf("The minimum numbers :%d\n",a[9]);
      } break;
  case'D':
      {
          n=0;
              for(j=0;j<9;j++)
              n=n+a[i];
              av=n/10;
              printf("The average: %5.2f",av);
      }break;
  default:printf("enter data error!");
  }
}
搜索更多相关主题的帖子: 大一新生 编程 
2012-05-05 20:57
Wikyo_hoho
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:31
专家分:188
注 册:2012-3-12
收藏
得分:10 
程序代码:
#include <stdio.h>             /*是为了根据用户选择来处理用户输入的数据*/
void main()
{
  int a[10];
  int i,j,t,n;
  char ch;
  float av;
    printf("input 10 numbers :\n");    
  for (i=0;i<10;i++)                    /*请用户输入要求处理的10个数据*/
  scanf("%d",&a[i]);
  printf("\n");
  printf("A: From small to big\nB: From big to small\nC: The maximum and minimum\nD: Average\n");/*提示用户各选项功能*/
  printf("\n");
  printf("Please from A, B, C, D of choice.\n");
  getchar();//把之前的scanf的回车键给取走,防止影响后面的取字符
  scanf("%c",&ch);//注意要加取地址符
  switch(ch)//你要把switch的东西加上啊
  {
  case'A':
     
          for(j=0;j<9;j++)
          {
              n=0;
              for(i=0;i<9-j;i++)
              if (a[i]>a[i+1])
              {
              t=a[i];a[i]=a[i+1];
              a[i+1]=t;
              n++;}
              if(n==0)
              break;
          }
              printf("From small to big numbers :\n");
              for(i=0;i<10;i++)
              {
              printf("%d",a[i]);
              printf("\n");
              }
        break;
  case'B':
     
              for(j=0;j<9;j++)
          {
              n=0;
              for(i=0;i<9-j;i++)
              if (a[i]<a[i+1])
              {
              t=a[i];a[i]=a[i+1];
              a[i+1]=t;
              n++;}
              if(n==0)
              break;
          }
              printf("From big to small numbers :\n");
              for(i=0;i<10;i++)
              {
              printf("%d",a[i]);
              printf("\n");
              }
        break;
  case'C':
     
              for(j=0;j<9;j++)
          {
              n=0;
              for(i=0;i<9-j;i++)
              if (a[i]<a[i+1])
              {
              t=a[i];a[i]=a[i+1];
              a[i+1]=t;
              n++;}
              if(n==0)
              break;
          }
              printf("The maximum numbers :%d\n",a[0]);
              printf("The minimum numbers :%d\n",a[9]);
       break;
  case'D':
       for(n=0,j=0;j<9;j++)
              n=n+a[j];//是j
             av=n*1.0/10;//注意类型转换
              printf("The average: %.2f",av);
      break;
  default:printf("enter data error!");
  }
}
基础还得扎实
2012-05-05 21:23
渚清沙白
Rank: 3Rank: 3
来 自:湖南财政经济学院
等 级:论坛游侠
帖 子:25
专家分:114
注 册:2012-5-5
收藏
得分:0 
回复 2楼 Wikyo_hoho
谢谢,前辈,我们这学期才开的c语言,自己比较感兴趣~~~这个也是自己瞎做的。。。就想把选择和数组和刚学的冒泡排序弄一起试试。。。嗯,自己还是有丢三落四的毛病,看来还是多写一些,再把教材读详细些。
2012-05-05 21:34
快速回复:大一新生,对编程很感兴趣,才写了个程序有一个错,不知道在哪,求助! ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023011 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved