㈠ 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]);
}