當前位置:首頁 » 編程語言 » 一句話在c語言中重復編程
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

一句話在c語言中重復編程

發布時間: 2023-03-14 01:37:18

① 在c語言中如何實現「讓一句話在屏幕上重復不斷的列印出來直至我設置的那個時間點結束」

// 參數:年、月、日、時、分、秒和你要顯示的那句話
void MyPrint(int year, int month, int day, int hour, int minute, int second, char *text)
{
while (text != NULL)
{
time_t t = time(NULL);
struct tm *now = localtime(&t);

if (year - 1900 == now->tm_year && month - 1 == now->tm_mon && day == now->tm_mday
&& hour == now->tm_hour && minute == now->tm_min && second == now->tm_sec)
{
break;
}
else
{
printf("%s\n", text);
}
}
}

// 使用
int main()
{
// 在2012年5月18日12點以前,一直列印"Hello World"這句話
MyPrint(2012, 5, 18, 12, 0, 0, "Hello World");
return(0);
}

② c語言編程:輸出數組中重復出現的數

#include<stdio.h>
intmain()
{inti,j,k=0,k1,p,a[10],b[5];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
if(a[j]==a[i])
{p=1;
for(k1=0;k1<k;k1++)
if(a[i]==b[k1])p=0;
if(p)
{printf("%d",a[i]);
b[k++]=a[i];
}
};
return0;
}

③ 用C語言編寫程序,找出用戶輸入的兩個字元串中相同的子串,要求此輸出的字元串中無重復的子串

//利用經典的大數據處理演算法bloomfilter進行兩個集合中相同元素的查找,去重
#include<stdio.h>
#include<string.h>
unsignedcharmask[8]={128,64,32,16,8,4,2,1};
//簡單的哈希演算法
inthashfuc(char*s,intkey)
{
inti,seed[4]={5,7,11,13},value=0;
if(key>=4)key%=4;
for(i=0;s[i];i++)
value+=s[i]*seed[key];

returnvalue;
}

//利用bloomfilter演算法將字元串s映射到位數組m中,並去掉重復的子串
voidbloomfilter(unsignedchar*m,char*s)
{
inti,j,hvalue,brepeat;
charsubstr[32];
for(i=j=0;;i++){
if(s[i]!=''&&s[i]!=' '&&s[i]!=0)
substr[j++]=s[i];
else{
substr[j]=0;
brepeat=1;
for(j=0;j<4;j++){
hvalue=hashfuc(substr,j)&0X7F;
if((m[hvalue>>3]&mask[hvalue&7])==0){
m[hvalue>>3]|=mask[hvalue&7];
brepeat=0;
}
}
//如果是重復子串
if(brepeat==1){
j=strlen(substr);
strncpy(s+i-j,s+i+1,strlen(s)-i);
//printf("有重復子串%s,去重後是%s ",substr,s);
i=i-j-1;
}
if(s[i]==0)break;
j=0;
}
}
}

intmain()
{
chars1[256],s2[256],substr[32];
inti,j,hvalue;
unsignedcharm1[16]={0},m2[16]={0},m3[16];
printf("Firststring ");
gets(s1);
printf("Secondstring ");
gets(s2);
bloomfilter(m1,s1);
bloomfilter(m2,s2);
//求兩個位數組的交集,子串能夠映射到交集說明是相同的子串
for(i=0;i<16;i++){
m3[i]=m1[i]&m2[i];
//printf("%02x%02x%02x ",m1[i],m2[i],m3[i]);
}
printf(" 相同的子串有:");
j=0;
//只需要對一個字元串進行映射,只要能映射到交集的就是子串
for(i=0;;i++){
if(s1[i]!=''&&s1[i]!=' '&&s1[i]!=0)
substr[j++]=s1[i];
else{
substr[j]=0;
for(j=0;j<4;j++){
hvalue=hashfuc(substr,j)&0X7F;
if((m3[hvalue>>3]&mask[hvalue&7])==0)break;
}
if(j==4)printf("%s",substr);
if(s1[i]==0)break;
j=0;
}
}
printf(" ");
}

④ C語言程序重復執行的語句

例如:

#include<stdio.h>

intmain(void)

{

charc;

c=getchar();

while(c!='')//輸入空格退出

{

printf("%c",c);//這里改成你需要的那個函數做相應的工作就可以了

c=getchar();

}

return0;

}

(4)一句話在c語言中重復編程擴展閱讀

C語言循環控制語句

#include<stdio.h>

intmain(){

inta;

/*forloopexecution*/

for(a=10;a<20;a=a+1)

{

printf("valueofa:%d ",a);

}

return0;

}

C編程語言中do...while循環的語法是-

do{

statement(s);

}while(condition);