herizai_CD2所做答案
//herizai_CD1第一题
#include<iostream>
#include<iomanip>
using namespace std; void print1(int n)//输出一个正三角形
{
for(int i=;i<=n;i++)//输出n行,第一行时i=1,第二行时i=2…对应下面每行*的个数
{
cout<<setw(-i)<<" ";//在*前打出30-i个空格来占位置,从而达到使*居中的目的,与for(k=0;k<30-i;k++) cout<<" "; 一样的效果。
for(int m=;m<*i;m++)//输出一行*, *的个数由循环次数i决定
{
cout<<"*";
}
cout<<endl; //输完一行后换行
}
} void print2(int n)//输出一个倒三角形
{
for(int i=n;i>;i--)//输出n行,第一行时i=1,第二行时i=2…对应下面每行*的个数
{
cout<<setw(-i)<<" ";//在*前打出30-i个空格来占位置,从而达到使*居中的目的,与for(k=0;k<30-i;k++) cout<<" "; 一样的效果。
for(int m=;m<*i;m++)//输出一行*, *的个数由循环次数i决定
{
cout<<"*";
}
cout<<endl; //输完一行后换行
}
} void print3(int n)//输出一个空心四边形
{
int i,j;
cout<<setw(n+); //录入字符个数a
for( i=;i<n;i++) //打印第一行a个‘*’
cout<<"*";
cout<<endl;
for(i=;i<n-;i++)
{
cout<<setw(n-i)<<"*"; //打印中间a-2行最左边的'*'
for(j=;j<n-;j++) //打印中间a-2行,第一行中的n-2个空白符
cout<<" ";
cout<<"*"; //打印中间a-2行最右边的'*'
cout<<endl;
}
cout<<" ";
for(i=;i<n;i++)
cout<<"*"; //打印最后一行a个‘*’
cout<<endl;
} void main()
{ char k;
int m=,choice;//m为三角形边长或是菱形的短对角线长
do
{
cout<<"请选择(1/2/3)\n 1 输出正三角形\n 2 输出倒三角形 \n 3 输出空心的平行四边形 \n 4返回";
cin>>choice;
switch(choice)
{
case :print1(m);break;
case :print2(m);break;
case :print3(m);break;//正三角形和倒三角形拼成的菱形
case :exit();
}
cout<<"是否继续(y/n)\n";
cin>>k;
}while(k=='y'||k=='Y');
}
//herizai_CD2第二题
#include<iostream>
using namespace std;
void chengji(int Matrix[][])
{
int s=;
for(int i=;i<;i++)
for(int j=;j<;j++)
if(i==j)
s*=Matrix[i][j];
cout<<"chengji is:"<<s<<endl;
} void sum(int Matrix[][])
{
int s=;
for(int i=;i<;i++)
for(int j=;j<;j++)
if(i==j)
s+=Matrix[i][j];
cout<<"The sum is:"<<s<<endl;
} void input(int Matrix[][])
{
for(int i=;i<;i++)
for(int j=;j<;j++)
cin>>Matrix[i][j];
}
void main()
{
int Matrix1[][],Matrix2[][],Matrix3[][];
int m;
cout<<"请选择(1/2/3)\n 1 输出Matrix1的主对角线乘积及和:\n 2 输出Matrix1的主对角线乘积及和:\n 3 输出Matrix1的主对角线乘积及和:\n 4返回";
cin>>m;
switch (m)
{
case :
input(Matrix1);
chengji(Matrix1);
sum(Matrix1);break;
case :
input(Matrix2);
chengji(Matrix2);
sum(Matrix2);break;
case :
input(Matrix3);
chengji(Matrix3);
sum(Matrix3);break;
default:
break;
}
}
//herizai_CD2 题目4
#include<iostream>
#include<fstream>
using namespace std; int main()
{
ifstream in("Sfile.txt");
ofstream out("Dfile.txt");
string str;
for(int i=;i<str.length();i++)
in>>str[i];
int s=str.length();
for(int i=;i<s-;i++)
for(int j=i+;j<s;j++)
if(str[i>str[j]])
{
int temp=str[i];
str[i]=str[j];
str[j]=temp;
}
for(int k=;k<str.length();k++)
out<<str[k];
}
//herizai_CD2_题目18
#include<iostream>
#include<string>
using namespace std;
char a(char b)
{
if(b>='a' && b<='z')
{
b=b-;
}
else if(b>='A' && b<='Z')
{
b=b+;
}
return b;
}
int main(void)
{
char s[];
char c;
int i;
gets(s);
for(i=;i<strlen(s);i++)
{
c=a(s[i]);
printf("%c",c);
} return ;
}
//herizai_CD2_题目17
#include <iostream>
using namespace std;
int max(int a,int b)
{
if(b==)
return a;
else
return max(b,a%b);
}
void main()
{
int a,b;
cout<<"Input two numbers:"<<endl;
do
{
cin>>a>>b;
if(b<a)
cout<<"最大公约数为:"<<max(a,b)<<endl;
else
cout<<"最大公约数为:%d\n"<<max(b,a)<<endl;
cout<<"Input two numbers or input -999 to end:"<<endl;
}while(b!=(-)&&a!=(-));
}
//herizai_CD2_题16
#include<iostream>
using namespace std;
int days(int nums);
void main()
{
int nums = ;
int day;
day = days(nums);
cout<<"卖完需要天数:"<<day<<endl;
}
int days(int nums)
{
int day=;
while(nums>)
{
int numsPerDay = nums/+ ;
nums=nums-numsPerDay;
day++;
}
return day;
}
//herizai_CD2_题15
#include<iostream>
#include<string>
using namespace std;
int sumsquare(int n){
char s[],i;
int sum=;
sprintf(s,"%d",n);
for(i=;i<strlen(s);i++)//传过来的数使用sprintf()以字符串s体现,就是计算每一位数平方和,
sum += (s[i]-'')*(s[i]-'');//sum这个得到的就是这个传过来的数的平方和
return sum;
}
int hasamenum(int n){
char s[],i,j;
sprintf(s,"%d",n);
for(i=;i<strlen(s);i++)
for(j=i+;j<strlen(s);j++)
if(s[i]==s[j])
return ;
return ;
}
main()
{
int i;
for(i=;i<=;i++)
if(i / == sumsquare(i) && hasamenum(i))
printf("%d\n",i);
}
//herizai_CD2_题目12
#include<iostream>
using namespace std;
int totalday(int year,int month,int day)//计算天数函数
{
int leap(int);//声明//一个函数的声明在另一个非main函数之中
int judge;
judge=leap(year);//调用
int total_day=;
month-=;
switch(month)
{
case :total_day+=;
case :total_day+=;
case :total_day+=;
case :total_day+=;
case :total_day+=;
case :total_day+=;
case :total_day+=;
case :total_day+=;
case :total_day+=;
case :judge?total_day+=:total_day+=;
case :total_day+=;
case :total_day+=day;break;
default :break;
}
return total_day;
} int leap(int year)//判断闰年函数
{
if(year%==&year%!=||year%==)
return ;
else
return ;
} int main()
{
int year,month,day;
cout<<"Please input year month day:"<<endl;
cin>>year>>month>>day;
cout<<"totalday is:"<<totalday(year,month,day)<<endl;
}
//herizai_CD2_题目10
#include "stdio.h"
#include "time.h"
#include "dos.h"
#include "windows.h"
#include "string.h"
#include "ctype.h" int year_r(); //显示年
int month_h(); //月
int date_e(); //日
int time_e(); //时间
char * time_ta(); //将日期时间转换成字符串
int wait_t(); //延时1秒 char * time_ta() //将日期时间转换成字符串
{
char *q;
time_t t;
t=time(NULL);
q=ctime(&t);
//printf("*q_address = 0x%x\n",q);
return (q);
} int wait_t() //延时1秒
{
long temp_total=;
time_t time_temp;
time_temp=time(NULL);
temp_total=time_temp;
for(;;)
{
time_temp=time(NULL);
if(abs(time_temp - temp_total) >=)
break;
} return ();
} int main()
{
int temp; system("cls"); //清屏
printf("\n\n\n\n\n\n\n\n\t\t\t");
year_r();
printf("年");
temp = month_h();
if (temp != )
{
printf("%d",temp);
printf("月");
}
else printf("month error!\n");
date_e();
printf("日");
time_e();
printf("\r");
for(;;) //显示年月日时分秒
{
wait_t(); // 1秒钟到显示年月日时分秒
system("cls");
printf("\n\n\n\n\n\n\n\n\t\t\t");
year_r();
printf("年");
temp = month_h();
if (temp != )
{
printf("%d",temp);
printf("月");
}
else printf("month error!\n"); date_e();
printf("日");
time_e();
}
getchar(); } int year_r() //显示年
{ char *p;
int i;
p=time_ta();
for(i=;i<;i++,p++) //ctime函数返回字符为24个
if(i>&&i<)
printf("%c",*p);
return ();
} int month_h() //显示月
{
char month_n[][]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
char *p;
char month[]; //存放三个字符
int i,j=;
p=time_ta();
for(i=;i<;i++,p++) //i<24因为ctime()函数返回有24个字符
{
if(i>= && i<) //取ctime函数返回值的第5--8共三个字符.
{
month[j++]=*p;
if(j==)
{
month[j]='\0';
break; }
}
}
for (i=;i<;i++)
{
if (strcmp(month_n[i],month) == )
{
return (i+); } } return (); } int date_e() //日
{
int j=,i=;
char date[];
char *p;
p=time_ta();
for(i=;i<;i++,p++)
if(i>=&&i<)
{ date[j]=*p;
printf("%c",date[j++]);}
return ;
} int time_e() //时间
{ int i;
char *p;
p=time_ta();
for(i=;i<;i++,p++)
if(i>&&i<)
printf("%c",*p);
printf("\n");
return ();
}
//herizai_CD2_题目9
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
int sum1=,sum2=,n=;
int month;
cin>>month;
if(month==||month==)
{
cout<<;
system("pause");
return ;
}
if(month%==)
{
month=month+;
n++;
}
for(int i=;i<month/;i++)
{
sum1=sum1+sum2;
sum2=sum1+sum2;
}
if(n==)
cout<<sum2;
if(n==)
cout<<sum1;
system("pause");
return ;
}
函数功能:把格式化的数据写入某个字符串
函数原型:int sprintf( char *buffer, const char *format [, argument] … );
返回值:字符串长度(strlen) 例子:
char* who = "I";
char* whom = "CSDN";
sprintf(s, "%s love %s.", who, whom); //产生:"I love CSDN. " 这字符串写到s中 sprintf(s, "%10.3f", 3.1415626); //产生:" 3.142"
herizai_CD2所做答案的更多相关文章
- NOI2010~NOI2018选做
[NOI2010] [NOI2010]海拔 高度只需要0/1,所以一个合法方案就是一个割,平面图求最小割. [NOI2010]航空管制 反序拓扑排序,每次取出第一类限制最大的放置,这样做答案不会更劣. ...
- (C#) Tasks 中的异常处理(Exception Handling.)
多线程编程中要注意对线程异常的处理.首先写个例子. 一个线程用于显示信息(Show Messages).主线程用于做其他工作(Do Works). using (Task taskShowMessag ...
- HDOJ-ACM1016(JAVA) 字典序全排列,并剪枝
转载声明:原文转自http://www.cnblogs.com/xiezie/p/5576273.html 题意: 一个环是用图中所示的n个圆组成的.把自然数1.2.…….n分别放入每个圆中,并在相邻 ...
- 哪些产品不用开发原生APP,微信公众号就够了?
最近一阶段H5技术被推到高峰,很多人认为借助H5就能利用微信公众号取代APP原生应用了,而事实是怎么样的?这里我从产品层做一个客观分析. 一,原生APP总体趋势 要谈APP是否会被微信取代,那么必须回 ...
- Codeforces.765F.Souvenirs(主席树)
题目链接 看题解觉得非常眼熟,总感觉做过非常非常类似的题啊,就是想不起来=v=. 似乎是这道...也好像不是. \(Description\) 给定长为\(n\)的序列\(A_i\).\(m\)次询问 ...
- 【CF765F】Souvenirs 主席树
[CF765F]Souvenirs 题意:给你一个长度为n的序列{ai},有m个询问,每次询问给出l,r,问在所有$l\le x < y\le r$中,$|a_x-a_y|$的最小值是多少. $ ...
- linux运维工程师面试题收集
面试必考 mysql5和mysql6 有什么区别 mysql-server-5.5:默认引擎改为Innodb,提高了性能和扩展性,提高实用性(中继日志自动恢复) mysql-server-5.6:In ...
- iptables防火墙详解(一)
-- 防火墙 常见的防火墙 :瑞星 江民 诺顿 卡巴斯基 天网...... iptables firewalld http://www.netfilter.org/ netfilter / iptab ...
- BZOJ.4453.cys就是要拿英魂!(后缀数组 单调栈)
BZOJ 求字典序最大,容易想到对原串建后缀数组求\(rk\). 假设当前区间是\([l,r]\),对于在\([l,r]\)中的两个后缀\(i,j\)(\(i<j\)),显然我们不能直接比较\( ...
随机推荐
- MTK6261之检测是否插了T卡
T卡的更目录可用SRV_FMGR_CARD_DRV 其宏定义如下: #define SRV_FMGR_CARD_DRV FS_GetDrive(FS_DRIVE_V_REMOVABLE, 1, FS_ ...
- Zabbix--05 Grafana、percona、自动发现和自动注册
目录 一. Grafana自定义图形 1.安装grafana 2.安装并激活zabbix插件 3.数据展示 4.自定义图形仪表盘 5.自定义图形饼图 二. percona模版监控mysql 1.安装p ...
- Codeforces 962 /2错误 相间位置排列 堆模拟 X轴距离最小值 前向星点双连通分量求只存在在一个简单环中的边
A #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) #def ...
- C#基础知识之dnSpy反编译
dnSpy工具可以在网上自行下载 软件界面如下: 现在进入话题,首先编写一个Hello World的控制台运行程序,如下图所示: 代码如下: using System; using System.Co ...
- 小程序内置组件swiper,circular(衔接)使用小技巧
swiper,关于滑块的一些效果无缝,断点,视差等等...我想这里就不用做太多的赘述,这里给大家分享一下实战项目中使用circular(衔接)的一点小特性.小技巧,当然你也可以理解为遇到了一个小坑,因 ...
- 如何判断系统是32位还是64位的linux系统
如何判断系统是32位还是64位的linux系统 某日,需要下载个安装包,忽然忘记了自己的系统是32位还是64位的系统了,一时想不起来怎么查看时32位还是64位,呵呵,随便百度下,就发现有好多方法,这里 ...
- 《SaltStack技术入门与实践》——执行结果处理
执行结果处理 本章节参考<SaltStack技术入门与实践>,感谢该书作者: 刘继伟.沈灿.赵舜东 Return组件可以理解为SaltStack系统对执行Minion返回后的数据进行存储或 ...
- 多模字符串匹配算法-Aho–Corasick
背景 在做实际工作中,最简单也最常用的一种自然语言处理方法就是关键词匹配,例如我们要对n条文本进行过滤,那本身是一个过滤词表的,通常进行过滤的代码如下 for (String document : d ...
- 【微信小程序】基础组件--view text image
组件的通用属性: id class style hidden bind* catch* data-* view 小程序基础组件,基本等于最常用组件,类似于HTML中的div.view用于构建页面骨架, ...
- CDMA原理
CDMA原理——特点 CDMA具有抗多径干扰.抗窄带干扰.抗认为干扰.抗多径延迟扩展的能力.同时有提高蜂窝系统的通信容量和便于模拟与数字体制的共存与过渡等优点.与TDMA技术形成强劲的竞争力. 与FD ...