
/我用c++做一下,你可以把输入输出自己转化一下/
#include<iostreamh>
#define MaxSize 100
int data[MaxSize][MaxSize];
void func(char str[],int n)// str 是字符串,n是串长度
{
int i,j;
i=0;
for(i=0;i<n;i++)
{
j=0;
while(str[j]!='\0')
{
data[i][j]=(int)(str[(j+i)%n]-0x30);
j++;
}
}
}
void main()
{
char str[]="123";
/也可以自己输入串并检测串长度,这只是个测试程序/
int n=3;
func(str,3);
for(int i=0;i<n;i++)
{
int j=0;
while(j!=n)
{
cout<<data[i][j]<<' ';
j++;
}
cout<<endl;
}
}
一、visual c++60(推荐)
报错比较准确,但比较难用。是微软推出的一款编译器,是一个功能强大的可视化软件开发工具。
二、Turbo C 20
是dos环境下的,比较好用,但不支持复制,粘贴等功能,比较不好用,要记住常用的几个快捷键。
三、win-tc(推荐)
窗口下的tc,比较好用,界面简洁,美观。适合编一些自己用的小程序。
四、Borland C++ Compiler
它是用来优化 BC 开发系统的工具。它包括最后版本的 ANSI/ISO C++ 语言的支持,包括 RTL,C++ 的 STL框架结构支持。
五、Dev-C++
是一个Windows环境下C/C++开发工具,它是一款自由软件,遵守GPL许可协议分发源代码。
c语言编程书籍推荐
入门:
C语言入门经典
《C语言入门经典》例子简单生活化,而且每个例子分析很细。章节安排合理,章末的例子还特别注重思路的引导,而且分析起来特别有成就感。这本书是自学过程的一本好书。
进阶:
C primer plus
这本书很适合希望系统学习C语言的读者,正如他的'名字,是一本不错的入门和进阶的书。书中的每一个知识点都有很多生动简单的示例,并给出了相应的运行结果。总之,在看这本书的过程中,有一种一气呵成的感觉。
高手:
C专家编程
《C专家编程》展示了最优秀的C程序员所使用的编码技巧,并专门开辟了一章对C++的基础知识进行了介绍。书中C的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习C++等问题进行了细致的讲解和深入的分析。
本书可以帮助有一定经验的C程序员成为C编程方面的专家,对于具备相当的C语言基础的程序员,本书可以帮助他们站在C的高度了解和学习C++。
当然,C语言的书籍很多,大家也不必拘泥于推荐的书籍,适合自己的才是最好的。只读书而不去实际动手,这相当于纸上谈兵。理论联系实际才是硬道理。
最后的printf是不是该%d %d %d二月的你用润年判断。
year%4==0 && year%100!=0 || year%400==0
其他的你应该自己知道判断了。。。
还有你的最后一个else里的判断。
应该放在每个if判断后。要不你的逻辑就出问题了。
你可以试一下,只要你输入每个月最后一天,肯定会输出正确数据。但是,其他的时候,就会出问题。关键是在你的If判断出了问题了。
#include<stdlibh>
#include "stdioh"
struct data{
int year;
int month;
int day;
};
main(){
struct data today,tomorrow;
printf("Year: ");
scanf("%d",&todayyear);
printf("Month: ");
scanf("%d",&todaymonth);
printf("Day: ");
scanf("%d",&todayday);
/每年的最后一天,加一年/
if(todaymonth == 12 && todayday == 31){
tomorrowyear = todayyear+1;
tomorrowmonth = 1;
tomorrowday = 1;
}
/一个月30天的/
else if(todaymonth == 4||todaymonth == 6||todaymonth == 9||todaymonth == 11){
if(todayday == 30){
tomorrowyear = todayyear;
tomorrowmonth = todaymonth+1;
tomorrowday = 1;
}
else{
tomorrowyear = todayyear;
tomorrowmonth = todaymonth;
tomorrowday = todayday + 1;
}
}
/一个月31天的/
else if(todaymonth == 1 ||todaymonth == 3||todaymonth == 5||todaymonth == 7||todaymonth == 8||todaymonth == 10){
if(todayday == 31){
tomorrowyear = todayyear;
tomorrowmonth = todaymonth+1;
tomorrowday = 1;
}
else{
tomorrowyear = todayyear;
tomorrowmonth = todaymonth;
tomorrowday = todayday + 1;
}
}
/2月份的处理方法。润年29天,否则28天/
if(todaymonth==2){
if(todayyear%4==0&&todayyear%100!=0||todayyear%400==0){/判断是否为润年/
if(todayday==29){
tomorrowyear = todayyear;
tomorrowmonth = todaymonth+1;
tomorrowday = 1;
}
else{
tomorrowyear = todayyear;
tomorrowmonth = todaymonth;
tomorrowday = todayday + 1;
}
}
else{
if(todayday==28){
tomorrowyear = todayyear;
tomorrowmonth = todaymonth+1;
tomorrowday = 1;
}
else{
tomorrowyear = todayyear;
tomorrowmonth = todaymonth;
tomorrowday = todayday + 1;
}
}
}
printf("%d %d %d",tomorrowyear,tomorrowmonth,tomorrowday);
system("pause");
return 0;
}
这是我改过的完整代码。你看下,行不行。
我在dev上运行过没有问题。结果也没有问题。
润年的判断,要注意下。
另外。。。。劝楼主书写的时候协规范些。。。对以后有好处
第一个猜字游戏我改好了。
#include<stdioh>
#include<stdlibh>
#include<timeh>
int hasard(int min,int max){
return (int) (min + ((float) rand()/RAND_MAX (max-min+1)));
}
int main()
{
srand(time(NULL));
int alea;
int min = 1;
int max = 100;
int count = 1;
int n;
alea = hasard(min,max);
printf("devine un nombre\n");
scanf("%d",&n);
while (count<=50)
{
if (n==alea)
{
printf("gagner\n");
break;
}
else if (n<alea)
{
printf("太小了\n");
scanf("%d",&n);
}
else
{
printf("太大了\n");
scanf("%d",&n);
}
count++;
}
if (count>50)
{
printf("输了,答案是=%d\n",alea);
}
return 0;
}
火柴的程序也修改了。错误原因都在于你的粗心。
#include<stdioh>
int main()
{
int i,r;
printf("输入火柴数目");
scanf("%d",&r);
for(i=1;i<=r;i++)
{ printf("_ ");}
printf("\n");
return 0;
}
编写程序那个我没看懂啥意思。
以上就是关于用c语言编写小程序全部的内容,包括:用c语言编写小程序、c语言编程软件有哪些、C语言小程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)