首页
社区
课程
招聘
[旧帖] [讨论]DEV C++中初学者编程 共同学习者顶起来 0.00雪花
发表于: 2010-5-22 17:40 74308

[旧帖] [讨论]DEV C++中初学者编程 共同学习者顶起来 0.00雪花

2010-5-22 17:40
74308
收藏
免费 0
支持
分享
最新回复 (280)
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
251
main()
{
        float a,b,c,t;
        scanf("%f,%f,%f",&a,&b,&c);
        if(a>b)
       {
              t=a;               
              a=b;
              b=t;
              }
if(a>c)
{
       t=a;
       a=c;
       c=t;
       }
       if(a<b);
       {
               t=b;
               b=c;
               c=t;
}
printf("%5.2f,%5.2f,%5.2f\n",a,b,c);

getchar();
}
2011-12-14 12:56
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
252
顶顶顶顶顶顶顶
2011-12-14 13:09
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
253
思而不学者殆
2011-12-20 12:18
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
254
小YY同学,你的程序中使用了scanf

由于它会从键盘读入数据,但没有清其缓冲区, 所以getchar 直接就从缓冲区获取了数据,导致不能停住屏幕。

250楼使用的方法对你有用

加了:
fflush(stdin);  //清空输入设备缓存
getchar();

加上这两句就一切OK
2011-12-20 12:38
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
255
# include<stdio.h>                  
int main()
{
   int i=1,sum=0;
   for(i=1;i<=100;i++);
   sum=sum+1;
{                                                                 
printf("sum=%d\n"sum);
getchar
}
2011-12-20 13:36
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
256
#include <stdio.h>
#include <math.h>
main()
{
   int sum,sum1,n=1,a=2;
   int z;
   int i,j;
   scanf("%d",&n);
   for(j=1;j<=n;j++)
    {
    for(i=1;i<=n;i++)
      {
       z=int(pow(a,n));
       sum1=sum1+z;
      }
    sum=sum+sum1;
    }
   printf("%d",sum);
   getchar();
   
}
2011-12-21 13:44
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
257
//pow(x,y) 所使用的数据类型为float 或 double 所以下面程序中不进行数据类型转换就会出现0数据溢出错误。

#include "stdio.h"
#include "math.h"

main()
{
int i,j=0,k;
for(i=0;i<3;i++)
  {
   j=j+ int(1*float(pow(10,i))); //此行改为: j=j+pow(10,i);就会让结果成为110,而正确为111.
  }      
  printf("%d",j);
  getchar();
}
2011-12-28 11:47
0
雪    币: 28
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
258
好好学习,天天向上
2011-12-28 14:59
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
259
#include "stdio.h"
#include "math.h"

main()
{
int i,j=0,k,sum=0;
int n=4;
for(k=1;k<=n;k++)
{
  j=0;
  for(i=0;i<k;i++)
  {
   j=j+2*float(pow(10.0,float(i))); //此行改为: j=j+pow(10,i);就会让结果成为110,而正确为111.
  }
   printf("%d\n",j);     
   sum=sum+int(j);
}
  
  printf("%d",sum);
  getchar();
}
2012-1-3 13:22
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
260
//题目:从键盘输入一个英文单词,判断这个这个单词中是否有字母a,
//若有输出这个单词,否则输出:请换一个。

/*
  在用c语言编写输入语句的时候常用到scanf函数,初学者在刚用scanf函数输入时,
经常会遇到各种各样的输入错误,最重要的是一定要记住scanf函数的输入格式,scanf
函数里包含了哪些东西,输入的时候就必须有哪些东西,比如:scanf("%c%c%c"),那
么输入的时候就必须连续输入3个字符,中间不能有任何空格逗号或者回车符等分开,
而如果是scanf("%c,%c,%c"),那么输入3个字符的时候中间就必须用一个逗号分隔。
scanf函数最常用的两种输入方式%d整数输入方式,以及%c字符输入方式。
  用%d方式输入整数时,输入一串数字然后按回车符,输入就完成了。而用%c方式输入
字符时,就稍微复杂一点。一般来说用%c输入字符时,当输完以后,都习惯按一下回车,
这时回车符就成了一个问题。
【例1】:
//  scanf("%c",&a); /*此时输入一个字符,并按下回车,那么变量a将会正确接收输入的字符*/
//  scanf("%c",&b); /*但是变量b将会接收到回车符,其值为10,或者说ASCII码为10*/
  

# include "stdio.h"

main()
{
    char a[20];  /* 字符型数组*/
    int i,j,k=0;
   
    rem:
    for(i=0;i<20;i++)
    {
     scanf("%c",&a[i]);
     if(a[i]==10) i=20;
    }
   
   for(j=0;j<20;j++)
   {
    if(a[j]=='a') k=1;
   
   }
   
    if(k==1)
     for(i=0;i<20;i++)
     {   
      printf("%c",a[i]);
      if(a[i]==10) i=20;
     }
    else {printf("请重输一个 \n"); goto rem;}
   
    fflush(stdin);  //清除输入设备缓存数据
    getchar();      
}
2012-2-14 13:20
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
261
//题目:从键盘输入一个小写英文单词,将每个字母换成大写字母后输出
//流程:准备数据及数组,
//      输入小写英文字母到数组元素,检查输入结果,
//      将保存在数组元素中的小写字母变成大写字母,
//      输出每个数组元素。

# include "stdio.h"

main()
{
    char a[20];  /* 字符型数组*/
    int i;
   
    for(i=0;i<20;i++)
    {
     scanf("%c",&a[i]);
     if(a[i]==10) i=20;
    }
   
    for(i=0;i<20;i++)
    {
    if(a[i]==10) i=20;
    a[i]=a[i]-32;                                                                                                                                                                        
    }
   
    for(i=0;i<20;i++)
     {   
      printf("%c",a[i]);
      if(a[i]==10) i=20;
     }
   
    fflush(stdin);  //清除输入设备缓存数据
    getchar();      
}
2012-2-15 13:41
0
雪    币: 67
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
262
哈哈,楼主加油啊。。。
2012-2-15 23:28
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
263
//题目:从键盘输入一组自然数,将它们从小到大排序后,在屏幕上输出
//流程:准备数据及数组,
//      随意输入自然数到数组元素,检查输入结果,
//      将保存在数组元素中的数排序后再保存到数组中,
//      输出每个数组元素。

# include "stdio.h"

main()
{
    int a[20];  /* 字符型数组*/
    int i,m,z;
   
    for(i=0;i<5;i++)
    {
     scanf("%d",&a[i]);
    }
//比较排序
   for(m=5;m>1;m--)                                  /*去尾*/
   {
    for(i=0;i<m;i++)
    {
      if(a[i]>a[i+1]) {z=a[i];a[i]=a[i+1];a[i+1]=z;} /*交换*/
      else      {}                                   /*不变*/                                                                                                                                    
    }
   }
   
//输出排序结果  
    for(i=0;i<5;i++)
     {   
      printf("%d",a[i]);
     }
   
    fflush(stdin);  //清除输入设备缓存数据
    getchar();      
}
2012-2-16 13:27
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
264
//题目:将一个二维数组元素行列互换:
//       1  4              1  2  3
//   a=[ 2  5 ]      b= [          ]
//       3  6              4  5  6

//  准备数组和变量
//  显示数组a的元素阵列  
//  按列读取数组a 放入b数组行
//  显示数组b的元素阵列

#include "stdio.h"

main()
{
//准备
int a[3][2]={1,4,2,5,3,6};
int b[2][3]={};
int i,j,m,n;
int c[6];
//显示a数组阵列
for(i=0;i<3;i++)
  {
   for(j=0;j<2;j++) printf("%5d",a[i][j]);
   printf("\n");
  }
//按列读取数组a到数组c
m=0;
for(j=0;j<2;j++)
  {
   for(i=0;i<3;i++)
   {
     c[m]=a[i][j];m++;
   }
  }
  //显示数组c是否合要求
  for(m=0;m<6;m++)printf("%d",c[m]);
   printf("\n");
  //确定数组b坐标分别存入对应数组c的数据
  i=0;
  for(m=0;m<2;m++)
     for(n=0;n<3;n++) {b[m][n]=c[i];i++;}
  
  //显示b数组结果
  for(m=0;m<2;m++)
  {
   for(n=0;n<3;n++) printf("%5d",b[m][n]);
   printf("\n");
  }
  
  //屏幕暂停
getchar();     
}
2012-2-21 13:34
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
265
//题目:1、从键盘输入一个英文单词字符串到字符数组,判断这个单词有几个字符;
//      2、修改前题为从键盘输入一句英文日常用语,判断这句话有几个单词;
//      3、修改前一题,增加字字符串的输出,要求用2种以上的方法输出;

# include "stdio.h"
# include "string.h"
main()
{
   
    char string[81]={};  /* 字符型数组*/
    int i=0,word=0,num=0;
    char c;
    printf("请输入一个英文单词\n");
    gets(string);
   
    for(i=0;(c=string[i])!='\0';i++)
     {
      if(c==' ') word=0;
      else if(word==0)
      {
          word=1;num++;
       }                              
     }
    printf("there are %d words in this line.\n",num);
2012-2-28 13:42
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
266
楼主好,我是一个C++的初学者,能不能用发几个c++的源代码啊,谢谢了
2012-2-28 18:08
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
267
祝你学习进步!
2012-2-28 19:48
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
268
//杨辉三角
#include<stdio.h>
#include<math.h>
main()
{
  int a[10][10];
  int i,j;
  for(i=0;i<=9;i++)
  {
    a[i][0]=1;
    for(j=0;j<=i;j++)
    {
       if(j>=1&&j<=i-1)
          a[i][j]=a[i-1][j-1]+a[i-1][j];
       a[i][i]=1;
       printf("%5d",a[i][j]);
    }
    printf("\n");
  }
  getchar();
}
2012-3-8 12:43
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
269
//P168—4 有一个已排好序的数组,要求输入一个数后,按照原来的规律将它插入数组中云。
//算法:
//1、准备数据排列好后依次放入数组A[]中。
//2、输入需要插入的数到变量M中
//3、判断原有数的排序方式:从小到大还是从大到小
//4、将M与数组A[]中的元素依次比较,并记录M的前一数与后一数
//5、依序插入M到A[]中,后面的元素向后移一位。
//6、输出新的排列结果。

# include "stdio.h"

main()
{
int A[10]={1,2,3,5,7,9},M;
int i,j,k;
scanf("%d",&M);

if(A[0]>A[1]) k=1;
else k=0;
printf("%d",k);

if(k==0) { for(i=0;i<10;i++) {if(M<A[i]) j=i,i=10;} }
else     { for(i=0;i<10;i++) {if(M>A[i]) j=i,i=10;} }   
printf("\n%d",j);  

for(i=9;i>j;i--)
   {
    A[i]=A[i-1];               
   }   
A[j]=M;

for(i=0;i<10;i++) printf("\n%d",A[i]);

fflush(stdin);
getchar();     
}
2012-3-13 11:52
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
270
太感谢了!!!!!!!!!!
2012-3-13 14:39
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
271
#include "stdio.h"
int i=1;

int main()
{
void hanoi(int n,char one,char two, char three);
int m;
printf("input the number of diskes:");
scanf("%d",&m);
printf("The step to move %d diskes:\n",m);
hanoi(m,'A','B','C');

fflush(stdin);
getchar();   
}

void hanoi(int n,char one,char two,char three)
{
void move(char x,char y);
if(n==1)
  move(one,three);
else
  {
   hanoi(n-1,one,three,two);
   move(one,three);
   hanoi(n-1,two,one,three);               
  }   
}

void move(char x,char y)
{
  printf("%d %c-->%c\n",i,x,y);i++;     
}
2012-5-3 13:49
0
雪    币: 15
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
272
多多学习。
2012-5-3 14:12
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
273
//写一个在主函数输入十六进制数,调用子函数转换成十进制数后,返回主函数输出。
#include "stdio.h"
#include "math.h"

main()
{
int six_ten(int x);
int x;
int s=0;
printf("请输入一个十六进制数:\n");
scanf("%x",&x);
s=six_ten(x);   
printf("十六进制数:%x转化为十进制数为:%d",x,s);
fflush(stdin);
getchar();
}

//十六进制化十进制子函数
int six_ten(int x)
{
int s=0,i;        /* s为权位法求和的总和 */
int n[9]={};      /* 从元素n[0]向n[9]存放想当于十进制的个位 十位 百位... */
for(i=0;i<9;i++)  /* 分别半从键盘输入的十六进制各位数值放入数组元素      */
    {
     n[i]=int(x/pow(16,double(i)))%16;    /* 计算式,注意函数的数据类型   */
     printf("%d\n",n[i]);                 /* 用于检测各位数值是否正确     */   
    }

for(i=0;i<9;i++)                         /* 权位法求和                   */
s=s+n[i]*pow(16,double(i));
return(s);     
}
2012-5-30 21:30
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
274
例题中,请注意加红的语句。通常情况下,if应与下两句交换一下位置,为什么现在这样也是正常运行???
#include "stdio.h"
int main()
{
int * p1, * p2, * p ,a,b;
printf("please enter two integer numbers:");
scanf("%d,%d",&a,&b);

if(a<b)
p1=&a;
p2=&b;

{p=p1;p1=p2;p2=p;}
printf("a=%d,b=%d\n",a,b);
printf("max=%d,mix=%d\n",*p1,*p2);   
   
fflush(stdin);
getchar();   
}
2012-6-14 13:01
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
275
现在在看汇编呢,学完后看c。
2012-6-14 13:10
0
游客
登录 | 注册 方可回帖
返回
//