㈠ c语言编程:求一段发红包的代码。(随机数,能规定红包总钱数总人数,每个人拿到的钱不为0)
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
intmain(void)
{
floattotal;
printf("输入总钱数: ");
scanf("%f",&total);
intnum;
printf("输入红包数量: ");
scanf("%d",&num);
floatmin=0.01;
floatsafe_total;
floatmoney;
inti;
srand((unsigned)time(NULL));
for(i=1;i<num;i++){
safe_total=(total-(num-i)*min)/(num-1);
money=(float)(rand()%((int)(safe_total*100)))/100+min;
total=total-money;
printf("红包%2d:%.2f元,余额:%.2f元 ",i,money,total);
}
printf("红包%2d:%.2f元,余额:0.00元 ",num,total);
return0;
}
㈡ C语言代码
原理很简单,不过楼上的代码得出的结果应该是:157.
既然人数接近1000,循环的时候从1000开始递减就可以了。
#include "stdio.h"
int main()
{
int i;
for(i=1000;i>1;i--)
{
if((i%5==2)&&(i%7==3)&&(i%3==1))
{
printf("Total Numbers: %d\n",i);
break;
}
}
return 0;
}
㈢ c语言编程题
商店不赚钱了么?
返还丁代金券40%,丙带动费30%,乙带动费20%,甲带动费10%?
可以这么理解么
当有2个人时:第一层:返回30%
当有3个认时:第二层= 原第一层-10%; 第一层=第二层-10%
当四个认时: 第三层= 原第二层-10%; 第二层=第三层-10% ;第1层=第二层-10%
很好实现的;
用递归关系
㈣ C语言的折扣计算问题 用代码来编
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void input(){
double rate=0.045,money;
char s[]="",temp[100];
printf("请输入产品价格:");
scanf("%lf",&money);
double b = money-(int)money;//提取出小数部分
gcvt(b,7,s); //将小数部分转换成字符串数组为后面判断有几个数字准备的
sprintf(temp,"%lf",b); //将小数部分依次存入字符串数组
int count=0; //存放有几位小数
int i;
for(i=2;i<=strlen(s);i++){//从2开始,因为下标0存放是字符0,下标1存放的是小数点
count++;
}
if(money<=0){
printf("产品价格必须大于0!\n");
input();
/**如果十分位是0,则字符串长度必须减去4,
如果十分不是0,则字符串长度必须减去1,
因为字符串自动在末尾补0了*/
}else if(((int)temp[2]==48&&count-4!=2)||((int)temp[2]!=48&&count-1!=2)){
printf("产品价格必须是两位小数!\n");
input();
}else{
if(money<=1000){
printf("您的消费还不满足折扣要求,应付金额为:%.2f米,您只需再消费%.2f,就可以享受折扣\n",money,(1000.01-money));
}else{
printf("您可以享受折扣,应付的金额为:%.2f米\n",(100-rate)*money);
}
}
}
void main(){
input();
}
㈤ c语言代码
呐,给你
#include<iostream>
#include<stdio.h>
#include<string.h>
intmain()
{
charlist[10001][20];
intnum;
intsum=0;
scanf("%d",&num);
getchar();
for(inti=0;i<num;i++)
scanf("%s",list[i]);
intt;
scanf("%d",&t);
getchar();
while(t--)
{
charc[20];
scanf("%s",c);
for(inti=0;i<num;i++)
if(strstr(list[i],c))
sum++;
printf("%d ",sum);
sum=0;
}
}
㈥ c语言必背代码有哪些
1、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/
#include "stdio.h"
main()
{int i,j,result;
for (i=1;i<10;i++)
{ for(j=1;j<10;j++)
{
result=i*j;
printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/
}
printf(" ");/*每一行后换行*/
}
}
5、/*下面程序的功能是将一个4×4的数组进行逆时针旋转90度后输出,要求原始数组的数据随机输入,新数组以4行4列的方式输出,
请在空白处完善程序。*/
main()
{ int a[4][4],b[4][4],i,j; /*a存放原始数组数据,b存放旋转后数组数据*/
printf("input 16 numbers: ");
/*输入一组数据存放到数组a中,然后旋转存放到b数组中*/
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{ scanf("%d",&a[i][j]);
b[3-j][i]=a[i][j];
}
printf("array b: ");
for(i=0;i<4;i++)
{ for(j=0;j<4;j++)
printf("%6d",b[i][j]);
printf(" ");
}
}
6、/*编程打印直角杨辉三角形*/
main()
{int i,j,a[6][6];
for(i=0;i<=5;i++)
{a[i][i]=1;a[i][0]=1;}
for(i=2;i<=5;i++)
for(j=1;j<=i-1;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;i<=5;i++)
{for(j=0;j<=i;j++)
printf("%4d",a[i][j]);
printf(" ");}
}
7、/*通过键盘输入3名学生4门课程的成绩,
分别求每个学生的平均成绩和每门课程的平均成绩。
要求所有成绩均放入一个4行5列的数组中,输入时同一人数据间用空格,不同人用回车
其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均分。*/
#include <stdio.h>
#include <stdlib.h>
main()
{ float a[4][5],sum1,sum2;
int i,j;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%f",&a[i][j]);
for(i=0;i<3;i++)
{ sum1=0;
for(j=0;j<4;j++)
sum1+=a[i][j];
a[i][4]=sum1/4;
}
㈦ 求一段简单的C语言代码
#include <iostream>
using namespace std;
#define countof(x) sizeof(x)/sizeof(x[0])
int main()
{
char szText[256];
int nBytes = 0;//字节数
int nSpace = 0;//空格数
int nRow = 0;//行数
int nAbc = 0;//大小写字母数
cout<<"请输入要统计的字符串,以#号结束"<<endl;
cin.get( szText, countof(szText), '#' );
for ( int i = 0; i < strlen(szText); i++ )
{
if ( (szText[i] >= 'a' && szText[i] <= 'z')
|| (szText[i] >= 'A' && szText[i] <= 'Z') )
{
nAbc++;
}
else if ( szText[i] == ' ' )
{
nSpace++;
}
else if ( szText[i] == '\n' )
{
nRow++;
}
nBytes++;
}
cout<<"字节数:"<<nBytes<<endl;
cout<<"空格数:"<<nSpace<<endl;
cout<<"行数:"<<nRow<<endl;
cout<<"大小写字母数:"<<nAbc<<endl;
return 0;
}
㈧ 可以说下代金券详细的使用说明吗
a) 代金券仅限抵用XXXX部分的费用,其他费用如X费、X费、X费、X费、X费等由客户自理;
b) 此代金券不兑现金、不开发票、不设找零,且不可与其它优惠同时使用;
c) 每张代金券面额为X元,每XXX仅限使用X张,且限在非国定节假日的周X至周X中任意使用;
d) 代金券使用有效日期:注册日起的X个月内有效,逾期作废。
e) XXXX有限公司保留最终解释权
㈨ c语言代码求助 帮忙看看这个代码吧,错的很多,也比较长,我看的头痛了。
第 83 行 st.wMonth = mouth; mouth未定义 我记得输入的是 &month 哦
我往下看了看,错的不少哦,建议你自己把各个函数的用法仔细分析一下,一定能解决的!
㈩ c语言编程代码
两种方法我写在一起,可以独立拆开。
#include <stdio.h>
void finda1(char a[3][10]);
void finda2(char a[3][10]);
void show(char (*p)[10]);
int main()
{
char a[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};
printf("原数组内容: ");
show(a);
printf(" 1、用数组指针的方法(函数finda1): ");
finda1(a);
printf("执行后: ");
show(a);
printf(" --------------------- ");
char b[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};
printf("原数组内容: ");
show(a);
printf(" 2、用指针数组的方法(函数finda2): ");
finda2(b);
printf("执行后: ");
show(b);
return 0;
}
void finda1(char a[3][10])
{
int i,j;
char (*p)[10]=a;
for(i=0;i<3;i++)
for(j=0;j<10;j++)
if(p[i][j]=='a')
printf("发现:第%d行第%d个元素是‘a’,已替换 ",i+1,j+1),p[i][j]='1';
}
void finda2(char a[3][10])
{
int i,j;
char *p[3]={&a[0][0],&a[1][0],&a[2][0]};
for(i=0;i<3;i++)
for(j=0;j<10;j++)
if(p[i][j]=='a')
printf("发现:第%d行第%d个元素是‘a’,已替换 ",i+1,j+1),p[i][j]='1';
}
void show(char (*p)[10])
{
int i,j;
for(i=0;i<3;i++,printf(" "))
for(j=0;j<10;j++)
printf("%c ",p[i][j]);
}