求 Dev-C++ 的示例程序!!

//完美解答,200悬赏!!!!!!!!!!RT1、A+B问题(最普通的,读两个数,输结果)2、HelloWorld3、求N个数的和(标准整形就好,循环+数组)4、比较两... //完美解答,200悬赏!!!!!!!!!!
RT
1、A+B问题(最普通的,读两个数,输结果)
2、Hello World
3、求N个数的和(标准整形就好,循环+数组)
4、比较两个数的大小,输出大的那个
5、读入一个实数,保留两位小数
6、读入一个字符串,判断是否回文
7、判断素数,输出Yes或者No
8、排序(冒泡)
9、十进制转二进制
10、斐波那契数列(输入N,输出斐波那契数列的第N个数,0开始)
11、高精度减法
---------------------------------------------------------------------------------------
再加个小小的要求,能不能把C/C++的程序结构、函数(Int这一类的)等都说一下?
程序请注明是C还是C++,Dev-C++能编译的,最好加上注释
展开
 我来答
百度网友7db6cc8
2014-06-29 · TA获得超过202个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:134万
展开全部

你说的这些我都写过,有些在我的博客里面,有的在我的OJ账号里面。

因为是我以前写的,所以我就直接拿来给你参考。如果对于某个具体的题目的代码要解释,可以给个联系方式。在这里我就直接贴代码,都是c和c++语言写的。

有using namespace的是c++的,其他的是c语言的。我用的不是你的那个软件,我用的是codeblocks来编写的。软件只是个工具,方便编写和提高效率,用记事本照样可以i写程序。


A+B(超级简单的加法,有几个简单的我就不写了)

#include<stdio.h>
int main()
{
    int a,b;
    while(~scanf("%d %d",&a,&b))
    {
        printf("%d\n",a+b);
    }
    return 0;
}

求N个数字的和(格式用图片说明)

#include<stdio.h>  
int main()  
{  
    int n;  
    while(scanf("%d",&n)!=EOF)  
    {  
        int i=1,k,sum=0;  
        if(n==0)break;  
        for(;i<=n;i++)  
        {  
            scanf("%d",&k);  
            sum+=k;  
        }  
        printf("%d\n",sum);  
    }  
    return 0;  
}



高精度减法(输入数据后回车,再接着输入第二个数)(加减乘除我都有代码,我写过)

#include <iostream>  
#include <cstring>  
#define MAX 1000  
using namespace std;  
void InputNumber(char *num_1,char *num_2)  
{  
    char *temp = new char [MAX];//用于存放输入的数据  
  
    memset(temp,0,sizeof(temp));cin>>temp;//清空容器并输入第一个数据  
    for(int i = num_1[0] = strlen(temp); i>0; i--)  
       num_1[i] = temp[ num_1[0] - i ] - '0';//逆序并转换成相应的数字  
    memset(temp,0,sizeof(temp));cin>>temp;//清空容器并输入第二个数据  
    for(int i = num_2[0] = strlen(temp); i>0; i--)  
       num_2[i] = temp[ num_2[0] - i ] - '0';//逆序并转换成相应的数字  
  
    delete [] temp;//释放临时容器  
}  
void CutNumber(char *num_1,char *num_2,char *sum)  
{  
    sum[0] = max(num_1[0],num_2[0]);  
    for(int i=1; i <= sum[0]; i++)  
    {  
        sum[i] = num_1[i] - num_2[i];  
        if( sum[i] < 0 )  
        {  
            num_1[ i + 1 ]--;  
            sum[i] += 10;  
        }  
    }  
}  
void OutputNumber(char *sum)  
{  
    for(int i = ++sum[0]; !sum[i] && 1 < i; sum[0]--,i--)  
       ;//过滤前导0;避免结果全部是0,所以只留下一位不过滤  
    for(int i = sum[0]; i > 0; i--)  
       cout<<(int)sum[i];//输出结果  
    cout<<endl<<endl;  
}  
int main(void)  
{  
    while(true)  
    {  
        char *num_1 = new char [MAX];memset(num_1,0,sizeof(num_1));  
        char *num_2 = new char [MAX];memset(num_2,0,sizeof(num_2));  
        char *num_3 = new char [MAX];memset(num_3,0,sizeof(num_3));  
        InputNumber(num_1,num_2);//输入数据  
        CutNumber(num_1,num_2,num_3);//相减  
        OutputNumber(num_3);//输出结果  
  
        delete [] num_1;delete [] num_2;delete [] num_3;  
    }  
    return 0;  
}

回文判断(输入一个字符串)

#include<stdio.h>  
int main()  
{  
    char str1[105],str2[1005];  
    while(scanf("%s",str1)!=EOF)  
    {  
        int d=strlen(str1),i;  
        for(i=0;i<d;i++)  
           str2[i]=str1[d-1-i];  
        if(strcmp(str1,str2)==0)  
          printf("yes\n");  
        else  
          printf("no\n");  
    }  
    return 0;  
}

 冒泡排序(没有数据的输入,我是在程序里面写好了,稍加修改可以对于你输入的数据排序,这个代码是体现排序的思想)

/***************************************************************************************** 
   算法: 
         1、相邻两个元素进行比较,即0号元素和1号元素、1号元素和2号元素、2号元素和3号元素,依此类推。 
         2、每轮比较之后,就会产生一个最值,并且这个最值总是在最后面才出现,如同鱼儿吐泡。 
         3、第一轮比较之后,最值在最后面;第二轮比较之后,次最值在倒数第二个位置,依此类推。 
*****************************************************************************************/  
#include <io  
using namespace std;  
void Swap(int *elem_1, int *elem_2)  
{  
   int temp = *elem_1;  
    *elem_1 = *elem_2;  
    *elem_2 = temp;  
}  
void Bubble_Sort(int *array,int len)  
{  
    for(int i=0; i<len-1; i++)  
       for(int j=0; j<len-1-i; j++)  
          if(array[j] > array[j+1])  
            Swap(array+j,array+j+1);  
}  
int main(void)  
{  
    int array[10]={4,9,7,0,3,1,5,8,2,6};  
    Bubble_Sort(array,10);  
    for(int i=0; i<10; i++)  
       cout<<array[i]<<" ";  
    return 0;  
}

 斐波那契数列

#include <stdio.h>  
int f(int n)  
{  
    int s;  
    if(n==1)  
      s=2;  
    if(n==2)  
      s=3;  
    if(n==3)  
      s=5;  
    if(n>=4)  
      s=f(n-1)+f(n-2)-f(n-3);  
    return s;  
}  
int main()  
{  
    int n,s;  
    scanf("%d",&n);  
    s=f(n);  
    printf("%d\n",s);  
    return 0;  
}

 进制转换(先输入十进制的数,然后在输入要转换什么进制,二进制就输入2)

比如输入1279后回车  再输入8,就代表将1279转换成8进制的。

#include<stdio.h>  
int main()  
{  
    int n,r,s[100];  
    while(~scanf("%d%d",&n,&r))  
    {  
        int i=0;  
        while(n)  
        {  
            s[i++]=n%r;  
            n/=r;  
        }  
        s[i]='\0';  
        for(i--;i>=0;i--)  
           printf("%d",s[i]);  
        printf("\n");  
    }  
    return 0;  
}
追问
能教我吗?Q Q:1446449318
追答
我只是个差生,菜鸟一个
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
遗忘录音
推荐于2017-11-26
知道答主
回答量:10
采纳率:0%
帮助的人:5.6万
展开全部
首先是库文件

C:
#include "stdio.h"
#include "stdlib.h"
C++:
#include <cstdio>
#include <cstdlib>
#include <iostream> //包括cin,cout

(1)
C:
int main()
{
int a,b;
scanf("%d %d",&a,&b); //输入
printf("%d",a+b); //输出
return 0;
}

C++:
using namespace std; 使用std名字空间,在c++中所有库函数都在std中
int main()
{
int a,b;
cin >>a>>b; //输入
cout <<a+b; //输出
return 0;
}

(2)

C:
int main()
{
printf("Hello World");
return 0;
}

C++:
using namespace std;
int main()
{
cout <<"Hello World";
return 0;
}

(3)
#include <cstdio>
#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
long long ans=0,t,n;
cin >>n;
for(int i=0;i<n;i++)
{
cin >>t;
ans+=t;
}
cout <<ans<<endl;
return 0;
}

(4)
#include <cstdio>
#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
int a,b;
cin>>a>>b;
cout <<max(a,b);
return 0;
}

(8)

#include <cstdio>
#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
int n;
cin >>n;
int num[n];
for(int i=0;i<n;i++) cin >>num[i];
sort(num.num+n);
for(int i=0;i<n;i++) cout <<num[i];
return 0;
}

(10)
注意 乱序!
//矩阵乘法加快速幂
//时间复杂度为O(log N)
//杀鸡用牛刀……

#include <cmath>
#include <cstdio>
#include <cstring>

using namespace std;

int a[32][2][2], b[2][2];
int n, p, tmp;

int get_max(int x)
{
int i = 1;
while(i <= x) i *= 2;
i /= 2;
if (i) return i;
return 1;
}

void first()
{
a[0][0][0] = a[0][0][1] = a[0][1][0] = 1;
//a[1][0][0] = a[1][0][1] = a[1][1][0] = 1;
a[31][0][0] = a[31][0][1] = a[31][1][0] = 1;
for (int i = 1; i <= 30; ++i)
for (int j = 0; j < 2; ++j)
for (int k = 0; k < 2; ++k)
for (int t = 0; t < 2; ++t)
{
a[i][j][k] += (a[i-1][j][t]*a[i-1][t][k]) % p;
a[i][j][k] %= p;
}
}

int main()
{
freopen("a.in", "r", stdin);
int t;
scanf("%d", &t);
while(t-- > 0)
{
scanf("%d %d", &n, &p);
first();
while(n >= 1)
{
int tmp = get_max(n);
n -= tmp;
tmp = log2(tmp);
for (int i = 0; i < 2; ++i)
for (int j = 0; j < 2; ++j)
for (int k = 0; k < 2; ++k)
b[i][j] += (a[31][i][k]*a[tmp][k][j])%p;
for (int i = 0; i < 2; ++i)
for (int j = 0; j < 2; ++j)
a[31][i][j] = b[i][j]%p;
memset(b, 0, sizeof b);
}
printf("%d\n", a[31][1][0]);
memset(a, 0, sizeof a);
}
return 0;
}

先打这一点吧,在浏览器上打好累……
此外斐波那契数列有多种做法,你想要多快的.
追问
感谢!!!
斐波那契数列就直接循环求好了
先把悬赏提到50,谢谢了!!
//像第三题这样的能不能加上C语言的程序?
谢谢了!!!一定采纳!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老逐G
2023-04-26
知道答主
回答量:56
采纳率:100%
帮助的人:1.1万
展开全部
【文件】--【新建】就可以新建一个文件,然后另存为xx.c文件,就可以开始编写程序了。编写完以后,【运行】---【编译】就可以编译程序,编译是会提示编译成功,或者有错误和警告,按照提示进行处理;【运行】---【运行】就 可以运行程序了。一般需要在程序后面加上两句:system("pause");//让画面暂停,查看程序运行结果return 0;//标准C需要返回一个整数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伟大还舒爽的小mmb
2023-04-03
知道答主
回答量:42
采纳率:66%
帮助的人:8591
展开全部
int main()
{
    unsigned char t;

    scanf("%d",&t);  
    
    switch(t)
    {
        case 'a':
        case 'A':
            printf("你是我的小苹果n");
            break;
         
        default: break;
    }
}

//按下a键可显示"你是我的小苹果"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2019-04-19
展开全部
  • 包含你说的大部分要求的2048

#include<iostream>

#include <iomanip>

#include<math.h>

#include<stdlib.h>

#include<time.h>

#include <conio.h> //为了读取方向键

#include<windows.h>

using namespace std;  

//srand( (unsigned)time( NULL ) ); //随机数种子 不能用在这里

int pane[4][4]; //棋盘

int N=1; //2的n次方

void showpane()//显示棋盘

{

cout<<setw(46)<<"2048 "<<endl;

cout<<setw(50)<<" |-----------------------|"<<endl;

for(int i=0;i<=3;i++) 

{

cout<<setw(24)<<"";

for(int j=0;j<=3;j++)

{

//SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED); 

if(pane[i][j]==0)

cout<<setw(2)<<"|"<<setw(4)<<" ";

else

cout<<setw(2)<<"|"<<setw(4)<<pane[i][j];

if(j==3)

{

cout<<setw(2)<<"|"<<endl;

cout<<setw(50)<<" |-----------------------|"<<endl;

}

}

}

}

void newgame() //开始游戏

{

N=1;

for(int i=0;i<=3;i++) //初始化棋盘

for(int j=0;j<=3;j++)

pane[i][j]=0;

srand( (unsigned)time( NULL ) );

int m=rand()%4;

int n=rand()%4;

int p=rand()%4;

int q=rand()%4;

pane[m][n]=pane[p][q]=2;

showpane();

}

int if2n(int x) //判断x是否是2的n次方

{

int flag=0;

for(int n=1;n<=11;n++)

{

if(x==pow(2,n))

{

flag=1;

if(n>N)

N=n;

return flag;

}

}

return flag;

}

int upmove() //上移

{

int flag=0;

for(int j=0;j<=3;j++)

for(int i=0;i<3;i++)

{

if(if2n(pane[i][j]+pane[i+1][j])==1)

{

pane[i][j]=pane[i][j]+pane[i+1][j];

pane[i+1][j]=0;

flag=1;

}

}

return flag;

}

int downmove() //下移

{

int flag=0;

for(int j=0;j<=3;j++)

for(int i=3;i>0;i--)

{

if(if2n(pane[i][j]+pane[i-1][j])==1)

{

pane[i][j]=pane[i][j]+pane[i-1][j];

pane[i-1][j]=0;

flag=1;

}

}

return flag;

}

int leftmove() //左移

{

int flag=0;

for(int i=0;i<=3;i++)

for(int j=0;j<3;j++)

{

if(if2n(pane[i][j]+pane[i][j+1])==1)

{

pane[i][j]=pane[i][j]+pane[i][j+1];

pane[i][j+1]=0;

flag=1;

}

}

return flag;

}

int rightmove() //右移

{

int flag=0;

for(int i=0;i<=3;i++)

for(int j=3;j>0;j--)

{

if(if2n(pane[i][j]+pane[i][j-1])==1)

{

pane[i][j]=pane[i][j]+pane[i][j-1];

pane[i][j-1]=0;

flag=1;

}

}

return flag;

}

int testup() //能否上移测试

{

int flag=0;

for(int j=0;j<=3;j++)

for(int i=0;i<3;i++)

{

if((if2n(pane[i][j]+pane[i+1][j])==1)&&pane[i+1][j])

{

flag=1;

}

}

return flag;

}

int testdown() //测试能否下移

{

int flag=0;

for(int j=0;j<=3;j++)

for(int i=3;i>0;i--)

{

if((if2n(pane[i][j]+pane[i-1][j])==1)&&pane[i-1][j])

{

flag=1;

}

}

return flag;

}

int testleft() //测试能否左移

{

int flag=0;

for(int i=0;i<=3;i++)

for(int j=0;j<3;j++)

{

if((if2n(pane[i][j]+pane[i][j+1])==1)&&pane[i][j+1])

{

flag=1;

}

}

return flag;

}

int testright() //测试能否右移

{

int flag=0;

for(int i=0;i<=3;i++)

for(int j=3;j>0;j--)

{

if((if2n(pane[i][j]+pane[i][j-1])==1)&&pane[i][j-1])

{

flag=1;

}

}

return flag;

}

int panemax() //棋盘最大数

{

int max=pane[0][0];

for(int i=0;i<=3;i++)

for(int j=0;j<=3;j++)

if(pane[i][j]>max)

max=pane[i][j];

return max;

}

int ifwin() //判断是否胜利

{

int flag=0;

if(panemax()==2048)

{

cout<<setw(45)<<"You Win!"<<endl;

flag=1;

}

return flag;

}

int ifGameOver()  //判断是否游戏结束

{

int flag=0;

if(testup()+ testdown() + testleft() + testright() == 0)

{

cout<<setw(43)<<"Game Over!"<<endl;

flag=1;

}

return flag;

}

void addnewnumberup() //上移后添加新数

{

srand( (unsigned)time( NULL ) );

int n;

if(N==1)

n=1;

else

n=(rand()%(N)+1); 

int newnumber=pow(2,n);

for(int i=3;i>=0;i--)

for(int j=0;j<=3;j++)

if(pane[i][j]==0)

{

pane[i][j]=newnumber;

return;

}

}

void addnewnumberdown() //下移后添加新数

{

srand( (unsigned)time( NULL ) );

int n;

if(N==1)

n=1;

else

n=(rand()%(N)+1);

int newnumber=pow(2,n);

for(int i=0;i<=3;i++)

for(int j=0;j<=3;j++)

if(pane[i][j]==0)

{

pane[i][j]=newnumber;

return;

}

}

void addnewnumberleft() //左移后添加新数

{

srand( (unsigned)time( NULL ) );

int n;

if(N==1)

n=1;

else

n=(rand()%(N)+1); 

int newnumber=pow(2,n);

for(int j=3;j>=0;j--)

for(int i=0;i<=3;i++)

if(pane[i][j]==0)

{

pane[i][j]=newnumber;

return;

}

}

void addnewnumberright() //右移后添加新数

{

srand( (unsigned)time( NULL ) );

int n;

if(N==1)

n=1;

else

n=(rand()%(N)+1); 

int newnumber=pow(2,n);

for(int j=0;j<=3;j++)

for(int i=0;i<=3;i++)

if(pane[i][j]==0)

{

pane[i][j]=newnumber;

return;

}

}

int GetDirection() //读取方向

{

int ret = 0;

do 

{

int ch = _getch();

if(isascii(ch))

continue;

ch = _getch();

switch(ch)

{

case 72:   

ret = 2; // top

break;

case 75:   

ret = 1; // left 

break;

case 77:   

ret = 3; // right

break;

case 80:   

ret = 4; // down

break;

default:   

break;

}

} while (ret == 0);

return ret;

}

int main() //主函数

{

system("color f9");

int makesure=1;

while(makesure)

system("cls");

newgame();

while(ifwin()+ifGameOver()==0)

{

int c=GetDirection();

switch(c)

{

case 2:

if(testup()==1)

{ upmove();

addnewnumberup();

system("cls");

showpane();

}

break;

case 4:

if(testdown()==1)

{

downmove();

addnewnumberdown();

system("cls");

showpane();

}

break;

case 1:

if(testleft()==1)

{

leftmove();

addnewnumberleft();

system("cls");

showpane();

}

break;

case 3:

if(testright()==1)

{

rightmove();

addnewnumberright();

system("cls");

showpane();

}

break;

default:   

break;

}

}

cout<<setw(43)<<"你的最后成绩为:"<<panemax()<<endl;

cout<<setw(60)<<"若要重新开始游戏请输入1,若要结束请输入0。"<<endl;

cin>>makesure;

while(makesure!=1&&makesure!=0)

{

cout<<"输入不正确,请重新输入!"<<endl;

cin>>makesure;

}

}

cout<<"再见!"<<endl;

cout<<"本游戏来源网络"<<endl;

cout<<"-+-+-+-+-+-+-+-+-+-+-+-"<<endl;

cout<<"界面空白吗?如果空白请按1,否则按其他键." <<endl;

int makesure2;

cin>>makesure2;

{

if

(makesure2==1);

system("cls");

cout<<"按任意键关闭"<<endl; 

system("pause");

return 0;

}

int i,n,k;

for(i=1;i<=300000000;i++)n=k/2;

printf(".");

for(i=1;i<=300000000;i++)n=k/2;

printf(".");

for(i=1;i<=300000000;i++)n=k/2;

printf(".");

for(i=1;i<=300000000;i++)n=k/2;

printf(".");

for(i=1;i<=300000000;i++)n=k/2;

printf(".\n");

system("cls") ;

system("pause");

return 0;

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式